记录大数据量写入Hive慢的解决过程

最近在做一个大数据类项目,用到了Hadoop Hive SparkStreaming kafka等技术,整体面很广,本片仅介绍在开发过程中遇到的大数据量写入遇到的写入特别慢的解决过程。

说明: 我之前没接触过Hive相关,所以可能有些地方不是很准确,或者是还有其它解决方案,欢迎大家指出以备完善。
场景: 现在有个场景:50W数据写入hive库,会使用哪种方案。我之前没接触过Hive相关知识,最开始的方法是将数据转换为SQL,使用jdbc直接insert到Hive里面。我做了个测试一晚上跑了不到30W,速度太慢。

具体的jdbc方式代码就不贴出来了,就是将数据转为插入SQL。

Hive内部表外部表

  • 创建表:Hive创建内部表时,会将数据移动到数据仓库指向的路径,hive管理数据的生命周期;Hive创建外部表时,仅记录数据所在的路径,不对数据的位置做任何改变。
  • 删除表:Hive删除内部表时,内部表的元数据和数据会一起被删除,同时对于一些hive操作不适应于外部表,比如单个查询语句创建表并向表中插入数据;Hive删除外部表时,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。创建外部表时,甚至不需要知道外部数据是否存在,可以把创建数据推迟到创建表之后才进行。
  • 选择:内部表与外部表没有太大区别。如果所有的数据都由hive处理,则创建内部表;如果数据的处理由hive和其他工具一起处理,则创建外部表。但是,管理表不方便和其他工作共享数据࿰

Original: https://blog.csdn.net/weixin_43241706/article/details/124815775
Author: 冰红茶不会渴
Title: 记录大数据量写入Hive慢的解决过程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/817921/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球