sqoop允许允许用户从结构化存储器抽取到Hadoop中,和除了HDFS之外的数据库进行交互。

sqoop是通过一个MapReduce作业从数据库中导入一个表,这个作业从表中抽取一行行数据,写入hdfs。
导入控制
sqoop不需要导入整张表,可以指定仅导入表的部分列。
mysql建立一张表:
create table XXX(id int not null primary key auto _increment,widge_name varcher(64) not null ……)
sqoop将这张表导入HDFS:
sqoop import --connect jdbc:mysql://localhost/hadoopguide\
--table XXX -m 1
……

执行导出
从hive中导出表,首先要在mysql中建立一张相同列顺序以及合适sql的目标表,
然后执行导出:
sqoop export --connect jdbc:mysql://localhost/hadoopguide -m 1 \
--table XXX -- export-dir /user/hive/warehouse/XXX \
-- input-fields-terminated-by '\0001'
……

网友评论