用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 是启动多少个线程的意思,如果数据库没有主键 只能启动一个线程。
MMM金融互助系统源码是以thinkphp为核心进行开发的3m金融互助平台。程序安装说明:1.恢复数据:将“数据备份”文件夹中的 urkeji.sql 文件请采用phpMyAdmin进行导入; 2.配置Sql数据库信息,文件路径:根目录下 config.php3.后台管理地址:http://域名/admin.php 用户名:100000 密码:admin1
0
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版本了(这个问题困扰了我好久)

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号