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

时间:2016-03-14 02:00:03

标签: apache-spark hive apache-spark-sql spark-dataframe parquet

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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