用Sqoop导入数据到Hive中

用Sqoop导入数据到Hive中,从postgresql中导入大表到hive中会出现jvm内存溢出的错误,这是sqoop1.2及以前版本的一个bug,它把整个

1 安装sqoop

下载sqoop-1.2.0.tar.gz(1.20版兼容Hadoop0.20版本)

将 hadoop-core-0.20.2-cdh3u3.jar ,hadoop-tools-0.20.2-cdh3u3.jar 放入sqoop/lib目录下,这两个jar包是cloudera公司出的 ,可以去它的官网下载。

2 从mysql中导入数据

进入sqoop解压目录(需要将mysql-connector-java-5.1.17-bin.jar加入到sqoop/lib目录下)

bin/sqoop import –connect jdbc:mysql://IP:PORT/DATABASE –username USERNAME –password PASSWORD –table TABLENAME –hive-import -m 1

备注: -m 1 是启动多少个线程的意思,如果数据库没有主键 只能启动一个线程。

3 从postgresql中导入数据

bin/sqoop import –connect jdbc:postgresql://IP:PORT/DATABASE –username USERNAME –password PASSWORD –table TABLENAME –hive-import -m 1

4常见问题:

1 从postgresql中导入大表到hive中会出现jvm内存溢出的错误,这是sqoop1.2及以前版本的一个bug,它把整个数据表记录读入内存,导致内存溢出,解决办法是换sqoop1.3及以上版本,这个bug在1.3被修复,但是sqoop1.3 必须依赖chd3的hadoop版本,如果以前装的的纯hadoop版本的话只能换成chd3的版本。

2 在使用sqoop1.3版本,把hadoop换成cdh3之后,出现了一个奇怪为题:classNotFoundException:sqoop org.apache.hadoop.security.UserGroupInformation.login(xxx) ,这个问题是由于CDH3的hadoop版本引起的,在他的hadoop-core-0.20.2-cdh3u3.jar包中的UserGroupInformation 类确实没有login方法,,为此我又把hadoop恢复到apache 的hadoop0.20.2这个版本,然后下载了个sqoop1.4版本,居然sqoop1.4可以支持apache的hadoop,早知道这样完全不用安装CDH的hadoop版本了(这个问题困扰了我好久)

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1933039.html

(0)
上一篇 2025年2月22日 22:05:24
下一篇 2025年2月22日 22:05:37

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • navicat怎么添加数据

    打开Navicat。 打开数据表所在的数据库,右击需要新增记录的数据库表,然后点击“打开表”。 相关推荐:《Navicat for mysql使用图文教程》 此时显示数据库表已有数据,例中并无记录。 直接在表中输入第一条记录的信息,一般字段…

    2025年2月23日 数据库
    100
  • navicat怎么导出数据

    当我们对mysql数据库进行了误操作,造成某个数据表中的部分数据丢失时,肯定就要利用备份的数据库,对丢失部分的数据进行导出、导入操作了。Navicat工具正好给我们提供了一个数据表的导入导出功能。 导出数据表 Navicat导出数据表的格式…

    2025年2月23日 数据库
    100
  • Excel数据如何批量导入navicat

    打开电脑上的Navicat,点击左上角的“连接”。 选择数据库类型。 填写相关的信息。 创建好之后就会显示存在的数据库名。 相关推荐:《Navicat for mysql使用图文教程》 选择指定的数据库名,右键单击,选择导入向导。 选择文件…

    2025年2月23日 数据库
    100
  • navicat能连接hive么

    Navicat连接hive的步骤: 第一步:win下安装好mysql。 第二步:win下安装Navicat。 第三步:启动hadoop集群,启动hive。 第四步:Navicat连接hive。 在第四步中需先配置ssh,然后配置常规属性,最…

    2025年2月23日 数据库
    100
  • 不同备份策略不兼容引起的磁盘空间故障解决实例

    最近接收一个系统,上线运维一年余。交接时候,业务部门反映曾经出现磁盘空间占满故障。当时引起整个系统瘫痪,最后联系开发商介 应用系统生命周期是一个整体,除了最开始的需求调研、开发测试和上线,更长的时期是在运维方面。应用系统的价值体现也就是在运…

    数据库 2025年2月23日
    100
  • Oracle并行执行特性应用初探

    在历史数据转出测试过程中,通过不断的优化,包括SQL调整和数据库调整,从AWR中看到,基本上难以进行更多的性能提升,于是准备试 1. 序 在历史数据转出测试过程中,通过不断的优化,包括sql调整和数据库调整,从awr中看到,基本上难以进行更…

    数据库 2025年2月23日
    100
  • Oracle生产环境RMAN备份脚本

    题记:这里分享一下我们Oracle的备份脚本,这些脚本均在生产库运行,正确无误! 环境:SUSE Linux 10sp2 + Oracle 11gR1 说明:小 题记:这里分享一下我们oracle的备份脚本,这些脚本均在生产库运行,正确无误…

    数据库 2025年2月23日
    100
  • xtraBackup备份原理剖析

    xtrabackup作为innodb的hotbackup工具,由percona公司开发,因开源,热备份和物理备份而在mysql中部署广泛,详情的说明可见之前的 xtrabackup作为innodb的hotbackup工具,由percona公…

    数据库 2025年2月23日
    100
  • 再说MySQL中的 table_id

    最近线上一个实例出现了主从数据不一致的情况,也即从库丢失数据的情况。根本原因:由于table_list-gt;table_id为uint,而m_table 【背景】最近线上一个实例出现了主从数据不一致的情况,也即从库丢失数据的情况。根本原因…

    数据库 2025年2月23日
    100
  • 更改Oracle数据库连接端口

    Oracle数据库默认数据库监听与连接端口是1521, 但是有时候项目中需要更改默认端口,这样做很多时候客户要求,基于安全考虑. 以Ora oracle数据库默认数据库监听与连接端口是1521, 但是有时候项目中需要更改默认端口,,这样做很…

    数据库 2025年2月23日
    100

发表回复

登录后才能评论