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. day 20 collection模块 time 模块 os 模块

    一.collection模块 1.namedtuple: 生成可以使用名字来访问元素内容的tuple 2.deque: 双端队列,可以快速的从另外一侧追加和推出对象 3.Counter: 计数器,主要 ...

  2. nginx防DOS攻击

    将 timeout 设低来防止 DOS 攻击 client_body_timeout 10; client_header_timeout 10; keepalive_timeout 5 5; send ...

  3. Oracle create tablespace 、create user and so on

    1.创建临时表空间 CREATE TEMPORARY TABLESPACE test_tempTEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_ ...

  4. nginx保持会话的方式

    1)ip_hash 简单易用,但是有如下缺点 后端服务器宕机后,session会丢失 来自同一局域网的客户端会被转发到同一个后端服务器,可能导致负载失衡 不适用CDN网络,不适用于前段还有代理的情况 ...

  5. Day14作业及默写

    1.整理今天所学内容,整理知识点,整理博客. pass 2.画好流程图. pass 3.都完成的做一下作业(下面题都是用内置函数或者和匿名函数结合做出): pass 4.用map来处理字符串列表,把列 ...

  6. c++字符串前几位,后几位的截取

    参考 1. https://blog.csdn.net/haijunsm/article/details/82733584 完

  7. ortp 发送RTP实例

    参考源代码目录src/tests/rtpsend.c     ortp_init();     ortp_scheduler_init();     ortp_set_log_level_mask(O ...

  8. 服务器死机 导致 mongo 挂掉

    1.删除mongod.lock和mongodb.log日志文件 2.携带参数重新启动 mongod --dbpath=/var/lib/mongo --port=27017 --fork --logp ...

  9. linux 系统 目录,以部分及相关命令

    linux 系统里的文件类型有: b. d.l. c. -  .s (块设备.目录.软连接.数字串设备.普通文件(文本.二进行文件).socket文件 ) ls 命令 ls -a  查看当前目录下的所 ...

  10. SkyWalking+SkyApm-dotnet分布式链路追踪系统

    SkyWalking+SkyApm-dotnet分布式链路追踪系统 对于普通系统或者服务来说,一般通过打日志来进行埋点,然后再通过elk或splunk进行定位及分析问题,更有甚者直接远程服务器,直接操 ...