문제
falcon_df = spark.read.parquet('/home/beomi/coding/kollama-dataset/falcon/data/*.parquet')
- 위와 같이 Parquet 파일의 로딩은 ~1초수준으로 빠르게 끝나는데
- 아래와 같이 여러 JSONL 파일의 로딩은 엄——청나게 오래 걸리는 현상
korean_df = spark.read.json([
'/home/beomi/coding/kollama-dataset/kcbert/*.jsonl',
])
해결법
from pyspark.sql import types as T
# Define schema
schema = T.StructType([
T.StructField("text", T.StringType(), True)
])
korean_df = spark.read.schema(schema).json([
'/home/beomi/coding/kollama-dataset/kcbert/*.jsonl',
])
도움 안되는 방법
spark.conf.set("spark.sql.repl.eagerEval.enabled", False)
- Eager Eval을 끄는 것은 큰 도움이 안된다.
spark.read.option("inferTimestamp","false").option("prefersDecimal","false").json("/data/20200528/")
inferTimestamp
와 prefersDecimal
을 끄는 것도 도움이 안된다.
- 애초에 위 두 방법은 로딩 이후 LazyComputing혹은 관련한 컬럼이 있을때나 의미가 있나 싶음.