在 Pyspark 中合并 DataFrame
Posted
技术标签:
【中文标题】在 Pyspark 中合并 DataFrame【英文标题】:Combine DataFrames in Pyspark 【发布时间】:2020-02-18 16:53:21 【问题描述】:我有一个供应商给了我一个 S3 存储桶上的多个压缩数据文件,我需要一起阅读这些文件以使用 Pyspark 进行分析。如何修改 sc.textFile() 命令?
另外,如果我要加载 10 个文件,我该如何引用它们?还是它们都进入一个 RDD?
在更广泛的层面上,我将如何调整 AMAZON EMR 集群上的分区和内存?每个压缩文件大小为 3MB 或解压缩后为 1.3GB。 谢谢
【问题讨论】:
【参考方案1】:您可以有一个脚本,它将所有解压缩文件移动到一个目录中,然后作为您的 spark 代码的一部分,您可以引用该目录
rdd = sc.textFile(("s3://path/to/data/")
正如您提到的,它是 1.3 GB 的数据,对于 spark 处理来说并不大,您可以让 spark 拥有所需的分区,但是您可以在创建 rdd 时定义它们。
对于 Amazon EMR,您可以根据需求类型旋转更小的节点 https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-supported-instance-types.html
根据处理类型(内存密集型/计算密集型),选择机器类型。
HTH
【讨论】:
以上是关于在 Pyspark 中合并 DataFrame的主要内容,如果未能解决你的问题,请参考以下文章