我正在使用PySpark读取相对较大的csv文件(~10GB):
ddf = spark.read.csv('directory/my_file.csv')
所有列都具有数据类型string
更改例如column_a
的数据类型后,我可以看到数据类型已更改为integer
。如果我将ddf
写入镶木地板文件并阅读镶木地板文件,我会注意到所有列都再次具有数据类型string
。 问题:如何确保镶木地板文件包含正确的数据类型,以便我不必再次更改数据类型(在阅读镶木地板文件时)。
备注:
我将ddf
写成镶木地板文件如下:
ddf.repartition(10).write.parquet('directory/my_parquet_file', mode='overwrite')
我用:
2.0.0.2
答案 0 :(得分:0)
我用大熊猫读取我的大文件而没有这个问题。尝试使用熊猫。 http://pandas.pydata.org/pandas-docs/version/0.23/generated/pandas.read_csv.html
In[1]: Import pandas as pd
In[2]: df = pd.read_csv('directory/my_file.csv')