如何将数据写入Hive表?

时间:2017-08-09 06:54:41

标签: apache-spark hive apache-spark-2.0

我使用Spark 2.0.2。

在学习将数据集写入Hive表的概念时,我明白我们是以两种方式完成的:

  1. 使用sparkSession.sql("您的SQL查询")
  2. dataframe.write.mode(SaveMode。" type of 模式")INSERTINTO("表名&#34)
  3. 有人能告诉我使用Spark加载Hive表的首选方法是什么?

2 个答案:

答案 0 :(得分:0)

一般来说,我更喜欢2.首先,因为对于多行,你不能构建如此长的sql,其次是因为它减少了错误或SQL注入攻击等其他问题。

与JDBC相同,我尽可能使用PreparedStatements。

答案 1 :(得分:0)

以这种方式思考,我们需要每天在蜂巢上实现更新。

这可以通过两种方式实现

  1. 处理配置单元的所有数据
  2. 仅处理影响分区。
  3. 对于第一个选项,sql的工作方式类似于gem,但请记住,处理整个数据的数据应该更少。

    第二个选项效果很好。如果您只想处理受影响的分区。使用data.overwite.partitionby.path 您应该以这样的方式编写逻辑,即它只处理受影响的分区。该逻辑将应用于数据为数百万亿条记录的表