Mac下Sqoop安装与使用
来源:互联网 发布:达梦数据库下载网盘 编辑:程序博客网 时间:2024/06/06 21:42
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
1.下载与安装
官网下载地址(下载链接),
将mysql的驱动jar包复制到/sqoop-1.4.6/lib/文件夹下。
配置文件
2.导入表结构到hive
bin/sqoop create-hive-table --connect jdbc:mysql://localhost:3306/test --username root --password root --table dim_prov --hive-table dim_prov
同时导入表结构和表数据
bin/sqoop import --connect jdbc:mysql://localhost:3306/test --username root --password root --table w_cube_activity_overview --hive-import -m 1;
3.导入数据到hbase
bin/sqoop import --connect jdbc:mysql://localhost:3306/test --table w_cube_activity_overview --hbase-table w_cube_activity_overview --column-family fee --hbase-row-key id --hbase-create-table --username root --password root -P
4.遇到的问题:
4.1 主键问题
如果mysql中的表没有设置主键,会出现以下的错误。这时候就需要在mysql的表中添加主键。
17/11/24 14:36:13 ERROR tool.ImportTool: Error during import: No primary key could be found for table w_cube_activity_overview_large. Please specify one with --split-by or perform a sequential import with '-m 1'.
添加主键的SQL语句
alter table w_cube_activity_overview_large add column id int not null auto_increment primary key
4.2 队列问题
如果在导入hive的过程中遇到了job运行的时候,显示当前用户不能操作默认的队列default,那么表示yarn默认操作的队列是default,而当前用户访问不了default队列。
17/11/24 14:46:10 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Failed to run job : org.apache.hadoop.security.AccessControlException: User bonc_hh cannot submit applications to queue root.default at org.apache.hadoop.mapred.YARNRunner.submitJob(YARNRunner.java:301) at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:244) at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1307) at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1304) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693) at org.apache.hadoop.mapreduce.Job.submit(Job.java:1304) at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1325) at org.apache.sqoop.mapreduce.ImportJobBase.doSubmitJob(ImportJobBase.java:196) at org.apache.sqoop.mapreduce.ImportJobBase.runJob(ImportJobBase.java:169) at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:266) at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:673) at org.apache.sqoop.manager.MySQLManager.importTable(MySQLManager.java:118) at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:497) at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605) at org.apache.sqoop.Sqoop.run(Sqoop.java:143) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227) at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
只需要添加一个队列名称参数即可,运行的脚本如下:
./sqoop import -D mapred.job.queue.name=bonc_hh --connect jdbc:mysql://localhost:3306/myql_dev --username pure --password pure --table dim_activity_type --hive-table dim_activity_type
阅读全文
0 0
- Mac下Sqoop安装与使用
- sqoop安装与使用
- sqoop 安装与使用
- Sqoop的安装与使用
- Sqoop的安装与使用
- Sqoop的安装与使用
- Sqoop的安装与使用
- sqoop的安装与使用
- Sqoop的安装与使用
- sqoop的安装与使用
- sqoop的安装与使用
- sqoop的安装与使用
- sqoop的安装与使用
- sqoop的安装与使用
- [Sqoop]Sqoop安装与部署
- hadoop(八) - sqoop安装与使用
- sqoop的安装与简单使用
- 2.sqoop安装配置与基本使用
- 函数:将矩形数据转换成面板数据(并生成表头)未完成
- 选择排序
- es6数组方法
- jsonp解决跨域请求问题
- rabbitmq莫名退出的问题解决
- Mac下Sqoop安装与使用
- 用textView实现放大首个字符
- 第七章:复用类
- 学习Python以及其他知识时自己出现的问题
- 产品自主组装树形结构CSS实现(手机、电脑自适应)
- C语言hashmap
- Arctic Network POJ
- 三种主流芯片架构
- 51nod_1256 乘法逆元