hadoop - 如何将存储在包含行的HDFS中的文本文件转换为Pyspark中的数据框?

标签 hadoop apache-spark pyspark hdfs spark-dataframe

我正在使用Pyspark,最近将数据帧作为文本文件存储在HDFS中,如下所示:

df.rdd.repartition(1).saveAsTextFile(path)

已成功创建文件,但内容格式如下:
Row(APP_PRESS=0.8322056773315432, LINE_PRESS=0.0, POSITION=324.17885120541024, SH_SP=-1.610030115550595, TEMP=24.300001144400007, TRIGGER=4.0869775365401934e-19, V_IND=98.36323547359974)
Row(APP_PRESS=0.8025359920151738, LINE_PRESS=0.0, POSITION=324.12892475616513, SH_SP=1.8780468896210554, TEMP=24.300001144399893, TRIGGER=-1.7645281682240943e-19, V_IND=98.36323547359977)
...

现在,我要做的就是将这些数据加载到Pyspark的数据框中,只是获得与之前保存的数据框('df')相同的数据。

我该怎么做?

最佳答案

尝试这样的事情:

df=sc.textFile(...).toDF()

但是您可以通过将上面的代码修改为以下内容来避免此步骤:
df.rdd.repartition(1).toDF()

然后保存。

关于hadoop - 如何将存储在包含行的HDFS中的文本文件转换为Pyspark中的数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47158271/

相关文章:

java - 阶段 0.0 (tid 0) java.lang.ArithmeticException 中的 Spark ERROR 执行程序 : Exception in task 0. 0

python - 每次 Spark 窗口函数

python-2.7 - 如何从加入同一个 pyspark 数据帧中删除 'duplicate' 行?

scala - java.lang.ClassCastException : org. apache.avro.generic.GenericData$Record 无法转换为 packagename.MyRecord

scala - 通过 Spark 作业加载到 BigQuery 失败,为 parquet 找到多个来源的异常

hadoop - Spark 上的 Apache pig

java - 如何对Java Spark RDD执行标准差和均值运算?

apache-spark - SparkConf 不读取 spark-submit 参数

hadoop - 由逗号和多个空格分隔的 Hive 表

maven - 需要将 flink-hadoop-compatibility-2.10 jar 显式复制到 EMR 集群上的 ${FLINK-HOME}/lib 位置