我使用spark 2.0.2。在学习将数据集写入配置单元表的概念时,我了解到我们有两种方法:使用sparksession.sql(“您的sql查询”)dataframe.write.mode(savemode.“模式类型”).insertinto(“表名”)有谁能告诉我用spark加载Hive表的首选方法是什么?
wkyowqbh1#
以这种方式思考,我们需要在Hive上实现每日更新。这可以通过两种方式实现处理Hive的所有数据只处理受影响的分区。对于第一个选项,sql就像gem一样工作,但是请记住,处理整个数据所需的数据应该更少。如果您只想处理受影响的分区,那么第二个选项效果很好。使用data.overview.partitionby.path您应该以这样一种方式编写逻辑:它只处理受影响的分区。此逻辑将应用于数据以百万t十亿记录为单位的表
zbwhf8kr2#
一般来说,我喜欢2。首先是因为对于多行不能构建如此长的sql,其次是因为它减少了发生错误或其他问题(如sql注入攻击)的机会。与jdbc一样,我尽可能多地使用preparedstatements。
2条答案
按热度按时间wkyowqbh1#
以这种方式思考,我们需要在Hive上实现每日更新。
这可以通过两种方式实现
处理Hive的所有数据
只处理受影响的分区。
对于第一个选项,sql就像gem一样工作,但是请记住,处理整个数据所需的数据应该更少。
如果您只想处理受影响的分区,那么第二个选项效果很好。使用data.overview.partitionby.path您应该以这样一种方式编写逻辑:它只处理受影响的分区。此逻辑将应用于数据以百万t十亿记录为单位的表
zbwhf8kr2#
一般来说,我喜欢2。首先是因为对于多行不能构建如此长的sql,其次是因为它减少了发生错误或其他问题(如sql注入攻击)的机会。
与jdbc一样,我尽可能多地使用preparedstatements。