sqoop导入mysql中表必须手动创建么

 我来答
匿名用户
2015-07-26
展开全部
sqoop使用hsql来存储job信息,开启metastor service将job信息共享,所有node上的sqoop都可以运行同一个job

一、sqoop的配置文件在sqoop.site.xml中:

1、sqoop.metastore.server.location

本地存储路径,默认在tmp下,改为其他路径

2、sqoop.metastore.server.port

metastore service端口号

3、sqoop.metastore.client.autoconnect.url

sqoop自动连接的metastore地址,默认是本地的metastore地址

4、sqoop.metastore.client.enable.autoconnect

开启自动连接。sqoop默认连接本地metastore。注释这个配置会开启自动连接。

二、开启metastore service

sqoop下,nohup bin/sqoop metastore

三、创建job

sqoop支持两种增量导入模式,
一种是 append,即通过指定一个递增的列,比如:
--incremental append --check-column num_iid --last-value 0

varchar类型的check字段也可以通过这种方式增量导入(id为varchar类型的递增数字):

--incremental append --check-column id --last-value 8
另种是可以根据时间戳,比如:
--incremental lastmodified --check-column created --last-value '2012-02-01 11:0:00'
就是只导入created 比'2012-02-01 11:0:00'更大的数据。

bin/sqoop job --meta-connect jdbc:hsqldb:hsql://10.106.1.234:16000/sqoop --create job_zyztest13 -- import --connect jdbc:oracle:thin:@10.106.1.236:1521:orcl --username SQOOP --password sqoop --table LXC_TEST_HBASE_TO_ORACLE --columns NAME,SEX,age,CSRQ -m 1 --hbase-table SQOOP_IMPORT_TEST3 --column-family info --hbase-row-key NAME --split-by NAME --incremental lastmodified --check-column CSRQ --last-value '2012-02-01 11:0:00' --verbose
nohup /opt/hadoopcluster/sqoop-1.4.2.bin__hadoop-2.0.0-alpha/bin/sqoop job --exec job_zyztest13 > job_zyztest13.out 2>&1 &

此时,在10.106.1.234上创建了job_zyztest13这个job,通过bin/sqoop job --meta-connect jdbc:hsqldb:hsql://10.106.1.234:16000/sqoop --list可以查看所有job

四、定时执行

使用linux定时器:crontab -e

编辑定时器,添加*/4 * * * * /opt/hadoopcluster/sqoop-1.4.2.bin__hadoop-2.0.0-alpha/bin/sqoop job --meta-connect jdbc:hsqldb:hsql://10.106.1.234:16000/sqoop --exec job_zyztest13 > job_zyztest13.out 2>&1 & 任务将会每四分钟执行一次
育知同创教育
2016-02-01 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
  sqoop导入mysql中表不需要手动创建。连接到hive的默认数据库后会自动创建的。
  Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导入到关系型数据库中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式