sqoop导入mysql数据表到HDFS中
sqoop import --connect jdbc:mysql://master:3306/test --username root --password root --table person
--target-dir "/root/sqoop" 指定上传到hdfs指定的目录
--fields-terminated-by "\t" 指定生成文件的分隔符
HIVE创建外部表,管理数据。
CREATE EXTERNAL TABLE person(
id int,
name string,
sex string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '/user/root/person';
mysql> select * from person;
+----+----------+-------+
| id | username | sex |
+----+----------+-------+
| | tom | man |
| | jack | wemen |
+----+----------+-------+
rows in set (0.00 sec)
hive> select * from person;
OK
tom man
jack wemen
Time taken: 1.545 seconds, Fetched: row(s)

第一类:数据库中的数据导入到HDFS上

# sqoop import --connect jdbc:mysql://hdp-server-01:3306/baba --username root --password root --table bbs_detail

指定输出路径、指定数据分隔符

# sqoop import --connect jdbc:mysql://hdp-server-01:3306/baba --username root --password root --table bbs_detail --target-dir '/sqoop/td' --fields-terminated-by '\t'

指定MapTask数量 -m

#sqoop import --connect jdbc:mysql://hdp-server-01:3306/baba --username root --password root  --table bbs_detail --target-dir '/sqoop/td1' --fields-terminated-by '\t' -m 1

增加where条件, 注意:条件必须用引号引起来

# sqoop import --connect jdbc:mysql://hdp-server-01:3306/baba --username root --password root  --table bbs_detail --where 'id>30' --target-dir '/sqoop/td2' --fields-terminated-by '\001' -m 1

增加query语句(使用 \ 将语句换行)

sqoop import --connect jdbc:mysql://hdp-server-01:3306/baba --username root --password root \

--query 'SELECT id,order_id,product_id FROM bbs_detail where id > 30 AND $CONDITIONS' --split-by bbs_detail.id --target-dir '/sqoop/td3'

注意:如果使用--query这个命令的时候,需要注意的是where后面的参数,AND $CONDITIONS这个参数必须加上

而且存在单引号与双引号的区别,如果--query后面使用的是双引号,那么需要在$CONDITIONS前加上\即\$CONDITIONS

如果设置map数量为1个时即-m 1,不用加上--split-by ${tablename.column},否则需要加上

***从数据库中导入数据到hive

sqoop import --hive-import --connect jdbc:mysql://hdp-server-01:3306/baba --username root --password root --table bbs_detail

第二类:将HDFS上的数据导出到数据库中

sqoop export --connect jdbc:mysql://hdp-server-01:3306/test  --username root --password root --export-dir '/myorder/data' --table myorder --columns id,order_id --fields-terminated-by ','  -m 2

注意:以上测试要配置mysql远程连接

GRANT ALL PRIVILEGES ON mytest.* TO 'root'@'192.168.0.104' IDENTIFIED BY 'itcast' WITH GRANT OPTION;

FLUSH PRIVILEGES;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'itcast' WITH GRANT OPTION;

FLUSH PRIVILEGES

sqoop上传数据到hdfs,并用hive管理数据。的更多相关文章

  1. HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo

    26 集群使用初步 HDFS的设计思路 l 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: l 在大数据系统中作用: 为各类分布式 ...

  2. hadoop的hdfs文件操作实现上传文件到hdfs

    这篇文章主要介绍了使用hadoop的API对HDFS上的文件访问,其中包括上传文件到HDFS上.从HDFS上下载文件和删除HDFS上的文件,需要的朋友可以参考下hdfs文件操作操作示例,包括上传文件到 ...

  3. 上传文本到hdfs上的一些命令

    在hadoop下创建文件夹 bin/hdfs dfs -mkdir -p /usr/hadoop/spark/ touch wc.input  写一些文本进去. 上传到hdfs上  bin/hdfs ...

  4. 循序渐进VUE+Element 前端应用开发(23)--- 基于ABP实现前后端的附件上传,图片或者附件展示管理

    在我们一般系统中,往往都会涉及到附件的处理,有时候附件是图片文件,有时候是Excel.Word等文件,一般也就是可以分为图片附件和其他附件了,图片附件可以进行裁剪管理.多个图片上传管理,及图片预览操作 ...

  5. 使用Sqoop从mysql向hdfs或者hive导入数据时出现的一些错误

    1.原表没有设置主键,出现错误提示: ERROR tool.ImportTool: Error during import: No primary key could be found for tab ...

  6. 批量上传文件到HDFS的Shell脚本

    在做Hadoop数据挖掘项目的时候,我们第一步是源数据的获取,即把相应的数据放置到HDFS中,以便Hadoop进行计算,手动将文件上传到HDFS中,未免太费时费力,所以我们可以采取像Flume一样的框 ...

  7. springMvc 使用ajax上传文件,返回获取的文件数据 附Struts2文件上传

    总结一下 springMvc使用ajax文件上传 首先说明一下,以下代码所解决的问题 :前端通过input file 标签获取文件,通过ajax与后端交互,后端获取文件,读取excel文件内容,返回e ...

  8. 上传文件到hdfs注意事项

    我在MapReduceInput下创建CFItemSet文件夹,下面有itemSet.txt. 我想上传到cf下,然后想着hdfs上会显示cf/itemSet.txt. hdfs dfs -put i ...

  9. Hadoop HDFS编程 API入门系列之从本地上传文件到HDFS(一)

    不多说,直接上代码. 代码 package zhouls.bigdata.myWholeHadoop.HDFS.hdfs5; import java.io.IOException; import ja ...

随机推荐

  1. TDate赋值给Variant时注意的问题

    //Delphi 10.3.1 32bit, Win 7 32bit procedure TForm1.btnTimeToVariantClick(Sender: TObject); var d:TD ...

  2. for循环遍历改用map函数

    # for url in urls:# url = response.urljoin(url)# print(url)urls = map(lambda url:response.urljoin(ur ...

  3. html页面中的title设置为空格

    这样页面加载时,title会显示为空,而不是当前页面的URL. document.title='\u200E'  

  4. 启动apache 找不到 mbstring.dll

    启动appserv时 提示 无法启动此程序 因为计算机中丢失php mbstring.dll   这种原因一般都是组件加载顺序引起的,在php.ini文件里确保 extension=php_mbstr ...

  5. js--call( )/apply()/bind()--应用

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call funct ...

  6. Pacman命令介绍

    用pacman很久了,一直没有深入去研究到底它包含多少神秘的力量,每次都是pacman -Syu就简单的把所有升级更新问题搞定实在是让笔者懒惰了很多.不过也正是因为pacman的简单让笔者爱不释手,同 ...

  7. ElasticSearch 从零到入门

    摘自:https://www.cnblogs.com/keme/p/10108918.html

  8. strchr与sscanf

    strchr(s,',')返回字符串s中从左往右第一个字符's'的指针: sscanf(输入的字符或字符串,“%格式符”,存储值):

  9. 云计算SPI(SaaS、PaaS、IaaS)

    云计算SPI(SaaS.PaaS.IaaS) The other day, I arrived at the SAP LABS CHINA for interview with my pleasure ...

  10. 实验吧—安全杂项——WP之 你知道他是谁吗?

    点击链接就可以下载下来一个压缩包 解压后得到一个图片 在百度上可以搜出他是 托马斯·杰斐逊(英语:Thomas Jefferson) 我们将名字输入到flag内,但是不对 我下一步直接用软件NSE查看 ...