Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas pypi sas7bdat到_数据_帧对于大数据(5 GB)来说花费的时间太长_Pandas_Apache Spark_Pyspark_Sas - Fatal编程技术网

Pandas pypi sas7bdat到_数据_帧对于大数据(5 GB)来说花费的时间太长

Pandas pypi sas7bdat到_数据_帧对于大数据(5 GB)来说花费的时间太长,pandas,apache-spark,pyspark,sas,Pandas,Apache Spark,Pyspark,Sas,我有一个5GB的SAS文件,需要在Hadoop中创建拼花地板文件。我正在使用SAS7BDAT库,并使用以下方法,在客户端模式下运行pyspark时,创建pandas数据帧需要5个多小时。我很想知道是否有更好的方法来做同样的事情 我知道saurfang软件包在这种情况下更有效,但我们不想使用任何第三方软件 f = sas7bdat.SAS7BDAT(str(source_file)) pandas_df = f.to_data_frame() spark_df = spark.createDat

我有一个5GB的SAS文件,需要在Hadoop中创建拼花地板文件。我正在使用SAS7BDAT库,并使用以下方法,在客户端模式下运行pyspark时,创建pandas数据帧需要5个多小时。我很想知道是否有更好的方法来做同样的事情

我知道saurfang软件包在这种情况下更有效,但我们不想使用任何第三方软件

f =  sas7bdat.SAS7BDAT(str(source_file))
pandas_df = f.to_data_frame()
spark_df = spark.createDataFrame(pandas_df)
del pandas_df
spark_df.write.save(dest_file,format='parquet', mode='Overwrite')

请使用Spark读取文件,而不是Pandas

将此添加到您的包中

saurfang:spark-sas7bdat:2.1.0-s_2.11
注意,我个人没有使用过这个,我只搜索“SAS 7B DAT+Spark”。如果您有问题,请在此报告


我建议让Spark平行阅读该文件,而不是Pandas请给我举个例子。我尝试了几个if选项,但没有成功。我不知道您的文件看起来像什么,但是
spark.read().text(file)
有什么问题?您也可以先将原始文件放入HDFS,然后将其拆分为块,这样可以更快地并行读取。无论如何,这里的瓶颈肯定是熊猫和本地驱动器的读取速度