2024-07-25 07:07:48 发布
网友
假设您有两个s3存储桶,希望从中读取spark数据帧。对于spark数据帧中的一个文件读取,如下所示:
file_1 = ("s3://loc1/") df = spark.read.option("MergeSchema","True").load(file_1)
如果我们有两个文件:
file_1 = ("s3://loc1/") file_2 = ("s3://loc2/")
我们如何在spark数据框中读取数据?有没有办法合并这两个文件位置
正如前面的注释所述,您可以分别读入每个注释,然后执行union函数
另一个选择是尝试Spark RDD API,然后将其转换为数据帧。例如:
sc = spark.sparkContext raw_data_RDD = sc.textfile(<dir1> , <dir2>, ...)
对于嵌套目录,可以使用通配符(*)。现在你必须考虑的是,两个位置的模式是否相等。在转换到数据帧之前,您可能需要进行一些预处理。设置模式后,您只需执行以下操作:
raw_df = spark.createDataFrame(raw_data_RDD, schema=<schema>)
正如前面的注释所述,您可以分别读入每个注释,然后执行union函数
另一个选择是尝试Spark RDD API,然后将其转换为数据帧。例如:
对于嵌套目录,可以使用通配符(*)。现在你必须考虑的是,两个位置的模式是否相等。在转换到数据帧之前,您可能需要进行一些预处理。设置模式后,您只需执行以下操作:
相关问题 更多 >
编程相关推荐