在Spark中使用不同标头在DataFrame中导入多个csv

问题描述 投票:1回答:1

我有多个Csv,每个人都像这样的变量:

cloudiness.csv

    +---+---+----------+-------------------+
    |_c0| ID|cloudiness|           datetime|
    +---+---+----------+-------------------+
    |  0|  3|       1.0|2013-11-08 00:00:00|
    |  1|303|       2.0|2013-11-08 00:00:00|
    |  2|306|       3.0|2013-11-08 00:00:00|

temperature.csv

    +---+---+-----------+-------------------+
    |_c0| ID|temperature|           datetime|
    +---+---+-----------+-------------------+
    |  0|  3|        3.0|2013-11-08 00:00:00|
    |  1|303|        4.0|2013-11-08 00:00:00|
    |  2|306|        5.0|2013-11-08 00:00:00|

..等等,(这个文件的7点8分)。

我必须使用Spark(R,Python或Scala)将它们合并到一个只有DataFrame中,如下所示:

    +---+---+-----------+----------+-------------------+
    |_c0| ID|temperature|cloudiness|           datetime|
    +---+---+-----------+----------+-------------------+
    |  0|  3|        3.0|       1.0|2013-11-08 00:00:00|
    |  1|303|        4.0|       2.0|2013-11-08 00:00:00|
    |  2|306|        5.0|       3.0|2013-11-08 00:00:00|

我试过spark.read但是花了太多时间,文件每个都是3 GB。这样做的最佳方法是什么?

python r csv apache-spark dataframe
1个回答
0
投票

标准方法是连接数据帧。

当您使用下面的代码片段阅读csv文件时

val read_csv1 = sc.textFile(“HDFS读取文件的路径”)

将创建RDD,您可以加入其他CSV。如果你提到性能问题的手段。让我给你另一种方式。

© www.soinside.com 2019 - 2024. All rights reserved.