首页 文章

如何将Spark数据框存储为Parquet格式的动态分区Hive表?

提问于
浏览
1

当前的原始数据在Hive上 . 我想连接几个分区的TB级Hive表,然后将结果作为Parquet格式的分区Hive表输出 .

我正在考虑将Hive表的所有分区加载为Spark数据帧 . 然后加入,分组等等 . 这是正确的方法吗?

最后我需要保存数据,我们可以将Spark数据帧保存为Parquet格式的动态分区Hive表吗?如何处理元数据?

1 回答

  • 0
    • 如果多个数据集中的一个比另一个小得多,您可能需要考虑使用 Broadcast 来提高数据传输效率 .

    • 根据数据的性质,您可以尝试分组依据,然后加入 . 因此每台机器只需要处理一组特定的数据,减少任务运行期间传输的数据量 .

    • Hive支持直接将数据存储为Parquet格式 . https://cwiki.apache.org/confluence/display/Hive/Parquet . 你试过试试吗?

相关问题