Mac下Sqoop安装与使用
2017-11-29 12:51
501 查看
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
1.下载与安装
官网下载地址(下载链接),
将mysql的驱动jar包复制到/sqoop-1.4.6/lib/文件夹下。
配置文件
2.导入表结构到hive
同时导入表结构和表数据
3.导入数据到hbase
4.遇到的问题:
4.1 主键问题
如果mysql中的表没有设置主键,会出现以下的错误。这时候就需要在mysql的表中添加主键。
添加主键的SQL语句
4.2 队列问题
如果在导入hive的过程中遇到了job运行的时候,显示当前用户不能操作默认的队列default,那么表示yarn默认操作的队列是default,而当前用户访问不了default队列。
只需要添加一个队列名称参数即可,运行的脚本如下:
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
相关文章推荐
- mac环境 安装和使用sqoop
- 如何使用VMware Fusion在Mac安装Windows7 - 第二部分
- 简述在windows下使用虚拟机安装Mac系统
- 安装 Mac OS X 时不要使用大小写敏感的日志文件系统
- android ndk环境搭建,如果是mac,请先装mac make编译器(可以使用Xcode进行安装)
- macport 安装使用
- 在x86上成功使用gentoo系统上安装的grub2启动 Mac OS X Leopard 10.5.7
- [汇总]MAC下使用自带的Apache和PHP+安装MYSQL搭建php开发环
- android ndk环境搭建,如果是mac,请先装mac make编译器(可以使用Xcode进行安装)
- tolua++ mac安装使用
- 【Mac上SVN客户端系列】SmartSVN专业版安装、破解及功能使用
- Wine for Mac 详细安装使用教程
- 【数据库】mac下如何安装和使用mysql
- 安装 Mac OS X 时不要使用大小写敏感的日志文件系统
- 使用Vmware7.1.4-385536安装Mac OS Snow Leopard的全过程
- vmware安装Mac 关于darwin的使用
- android ndk环境搭建,如果是mac,请先装mac make编译器(可以使用Xcode进行安装)
- Mac OS X中安装使用Boost库
- 在Mac OS X(10.7.5)下安装和使用GO语言
- XP系统下使用Vmware7.1.3-324285安装Mac OS Snow Leopard的全过程