Я сохраняю json строку в одном из столбцов моего паркета. Я хочу преобразовать этот паркет в формат csv. Я использую pyspark для чтения паркета и записи его в CSV.
Код:
df=spark.read.parquet("db997999a0114d7392cd96407aebec3d.parquet")
df.write.option("header", "true").csv("db997999a0114d7392cd96407aebec3d.csv")
parquet:
Col1 Col2 Col3 Col4 COL5
10 2.1 "{'HL7': {'OBR-8': '20200508091606.8160+0530', 'OBX-2': 'NM', 'OBX-3': 1.0 2.3
147842^MDC_ECG_HEART_RATE^MDC', 'OBX-4': '1.5.0.1'}}"
11 3.1 {'HL7': {'OBR-8': '20200508091606.8160+0530', 'OBX-2': 'NM', 'OBX-3': 11 18
147842^MDC_ECG_HEART_RATE^MDC', 'OBX-4': '1.5.0.1'}}
Я ожидал, что
Ожидаемый CSV:
Col1 Col2 Col3 Col4 Col5
10 2.1 {'HL7': {'OBR-8': '20200508091606.8160+0530', 'OBX-2': 'NM', 'OBX-3': 0.1 2.3
147842^MDC_ECG_HEART_RATE^MDC', 'OBX-4': '1.5.0.1'}}
11 3.1 {'HL7': {'OBR-8': '20200508091606.8160+0530', 'OBX-2': 'NM', 'OBX-3': 11 18
147842^MDC_ECG_HEART_RATE^MDC', 'OBX-4': '1.5.0.1'}}
O
При записи csv col3
Вывод Actaul:
Col1 COl2 Col3 COl4 COl5
10 2.1 {'HL7': {'OBR-8': '20200508091606.8160+0530' 'OBX-2': 'NM' 'OBX-3': 1.0 2.3 147842^MDC_ECG_HEART_RATE^MDC
11 3.1 {'HL7': {'OBR-8': '20200508091606.8160+0530' OBX-2': 'NM' 'OBX-3': 11 18 147842^MDC_ECG_HEART_RATE^MDC'
Похоже, это потому, что запятой в json и, вероятно, искра рассматривает команду как отдельное значение для строки json.
Любое предложение, как с этим справиться