将两个源数据并行插入到配置单元中的公共目标表中的问题

时间:2020-03-25 10:24:35

标签: pyspark hive hive-partitions

从不同来源将数据插入到目标配置单元表中时,我的作业正在并行运行时,我遇到一个状况/问题。

src_a data (source table 1):
ref_date_id,source_id,col_a,col_b
1902,src_a,2,3,4
1902,src_a,4,5,6

src_a data (source table 1):
ref_date_id,source_id,col_a,col_b
1903,src_b,2,3,4
1903,src_b,4,5,6


Target table: tgt_source_all
hdfs_path:  /application/hive-warehouse/db/tgt_source_all/ref_date_id=1902/source_id=src_a/parquet.file
            /application/hive-warehouse/db/tgt_source_all/ref_date_id=1903/source_id=src_b/parquet.file

这可以使我将源数据插入目标。但是在与其他来源同时在同一日期并行运行我的程序时,我遇到了问题?

like:

src_a data (source table 1):
ref_date_id,source_id,col_a,col_b
1904,src_a,2,3,4
1904,src_a,4,5,6

src_a data (source table 1):
ref_date_id,source_id,col_a,col_b
1904,src_b,2,3,4
1904,src_b,4,5,6

target data should insert as :
hdfs_path:  /application/hive-warehouse/db/tgt_source_all/ref_date_id=1904/source_id=src_a/parquet.file
            /application/hive-warehouse/db/tgt_source_all/ref_date_id=1904/source_id=src_b/parquet.file

但是,当在不同源上并行运行我的程序时,只有一个最初拾取的数据被插入分区目录中,而另一个源未插入并抛出错误,无法创建临时文件夹...

能否请您帮助我如何将多个源数据插入同一分区的目标表中?? 注意:我正在pyspark中运行程序。

0 个答案:

没有答案