PySpark parquet 数据类型



我正在使用PySpark读取一个相对较大的csv文件(~10GB(:

ddf = spark.read.csv('directory/my_file.csv')

所有列的数据类型均为string

例如,更改数据类型后column_a我可以看到数据类型更改为integer。如果我将ddf写入镶木地板文件并读取镶木地板文件,我注意到所有列的数据类型再次string问题:如何确保 parquet 文件包含正确的数据类型,以便我不必再次更改数据类型(在读取 parquet 文件时(。

注释

我将ddf写为镶木地板文件,如下所示:

ddf.repartition(10).write.parquet('directory/my_parquet_file', mode='overwrite')

我使用:

  • PySpark 版本2.0.0.2
  • Python 3.x

我用熊猫阅读了我的大文件,没有这个问题。尝试使用熊猫。 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')

最新更新