
spark에서 JSON file을 읽을 때, 아래와 같은 에러를 만난다.
pyspark.errors.exceptions.captured.AnalysisException: [UNRESOLVED_COLUMN.WITH_SUGGESTION] ~~[`_corrupt_record`].;
+- Relation [_corrupt_record#8] json
from pyspark import SparkContext
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
df = spark.read.json("File_Path")
read option에 multiline=True 를 추가해준다.
from pyspark import SparkContext
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
df = spark.read.json("File_Path", multiline=True)
기본적으로 Spark는 JSON 파일에 여러 줄 JSON이 아닌 JSON 줄 (JSONL 형식)이 있는 것으로 간주합니다 .
하지만, 평소에 자주 사용하는 형식의 JSON은
[{
key1:value1
}
,{
key2:value2
}
.
.
.
]
이렇게 multiline으로 구성되어 있기 때문에, 해당 read option을 수동으로 설정해주어야 JSON 파일을 에러없이 읽을 수 있다.
모든 DA가 지저분한 JSON 파일을 안만나기를 빌며...