【发布时间】:2021-11-19 20:06:36
【问题描述】:
我正在使用 SPARK 读取 hdfs 中的文件。有一个场景,我们从遗留系统中以 csv 格式获取文件作为块。
ID1_FILENAMEA_1.csv
ID1_FILENAMEA_2.csv
ID1_FILENAMEA_3.csv
ID1_FILENAMEA_4.csv
ID2_FILENAMEA_1.csv
ID2_FILENAMEA_2.csv
ID2_FILENAMEA_3.csv
这些文件使用 HiveWareHouse 连接器加载到 HIVE 中的 FILENAMEA,几乎没有添加默认值等转换。同样,我们有大约 70 张桌子。 Hive 表以 ORC 格式创建。表按 ID 分区。现在,我正在一一处理所有这些文件。这需要很多时间。
我想让这个过程更快。文件将以 GB 为单位。
有什么方法可以同时读取所有 FILENAMEA 文件并将其加载到 HIVE 表中。
【问题讨论】:
-
您谈到了 70 个表,所有这些 CSV 文件是否具有相同的架构?所有文件都在同一个目录中吗?如果是,您是否必须读取此目录中的所有文件或仅读取其中一些文件?您可以发布您当前使用的代码(只有读写部分,而不是转换)?提前致谢!
-
@VincentDoba:感谢您的回复。每个表都有唯一的架构。是的,同一目录中的所有文件。我必须阅读所有文件。我正在使用 spark.read.csv(filename).toDF(columns)。
标签: apache-spark pyspark hive