hdfs数据到hive中:

假设hdfs中已存在好了数据,路径是hdfs:/localhost:9000/user/user_w/hive_g2park/user_center_enterprise_info/*

1.提前(在hive中)准备好表, user_center_enterprise_info2 ,用于接收hdfs数据。

CREATE TABLE user_center_enterprise_info2 (
`id`string ,
`name` string
);

2.使用load data方式,加载数据,(已执行数据库选择命令 hive>use testdb;)

以下 相对/绝对 两种路径加载都行

hive>load data inpath              'hive_g2park/user_center_enterprise_info/*' into table user_center_enterprise_info2;

hive>load data inpath '/user/user_w/hive_g2park/user_center_enterprise_info/*' into table user_center_enterprise_info2;

此时:

hdfs dfs -ls /user/user_w/hive_g2park/user_center_enterprise_info 发现里面内容没了

3.把数据从hive写回hdfs,让数据出现在hdfs

数据是从hdfs的 hive_g2park/user_center_enterprise_info  写到hive的,

现在写道           hive_g2park/user_center_enterprise_info3 路径下

-- 设置task数 set mapred.reduce.tasks = ; 结果数据平均分区(分区数等于task数);
set mapred.reduce.tasks = ; insert overwrite directory 'hive_g2park/user_center_enterprise_info3'
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
'field.delim'='\t',
'serialization.format'= '',
'serialization.null.format'=''
) STORED AS TEXTFILE
select * from user;

此时在hdfs下生成了新路径,

hive_g2park/user_center_enterprise_info3
并且有数据在其文件夹下

我的理解数据消失:
hive本质是map-reduce,即操作hdfs数据的方式有:spark,mr,pig,hive。

而hive只是在mr上包了一层,hive操作的时候,本质上,是直接操作的hdfs数据,也就是说hdfs数据load后,和hive数据是同一份数据
而且load data inpath '/user/hive/os.txt' into table os;这种方式loca数据到hive辣么快,应该是修改了指针而已,而不是复制了一份数据到hive。

hdfs数据到hive就隐藏不见,这么设计,就是为了避免数据在被hive改动的同时,又被mr直接操作hdfs数据,删除移动什么的,造成数据的不一致,所以数据丢hive里hdfs里就看不见了

sqoop export --connect jdbc:mysql://127.0.0.1:3306/parkdb --username xiaoming --password '' --table t_vip_user --export-dir 'hive_g2park/vip/*' --fields-terminated-by "\t"

附录:

sqoop的导出参数中,hive-import作用:本次导入到hive中

导入看得到hdfs文件夹范例
sqoop import --connect jdbc:mysql://localhost:3306/user --username h --password '123' \
--fields-terminated-by "\t" --table enterprise_info --delete-target-dir --target-dir 'hive_g2park/user_center_enterprise_info' \
--create-hive-table --hive-table g2park.user_center_enterprise_info

导入看不到hdfs文件夹范例
sqoop import --connect jdbc:mysql://localhost:3306/user --username h --password '123'
--fields-terminated-by "\t" --table enterprise_info --delete-target-dir
--hive-import --target-dir 'hive_g2park/user_center_enterprise_info'
--create-hive-table --hive-table g2park.user_center_enterprise_info

hdfs数据到hive中,以及hdfs数据隐身理解的更多相关文章

  1. Hive中导入Oracle数据错误:Listener refused the connection with the following error: ORA-12505

    问题: 今天往Hive中导入Oracle数据的时候碰到了如下错误:Listener refused the connection with the following error: ORA-12505 ...

  2. (转)原始图像数据和PDF中的图像数据

    比较原始图像数据和PDF中的图像数据,结果见表1.1.表1.1中各种“解码器”的解释见本文后续的“PDF支持的图像格式”部分,“PDF中的图像数据”各栏中的数据来自开源的PdfView.如果您有兴趣查 ...

  3. 一个I/O线程可以并发处理N个客户端连接和读写操作 I/O复用模型 基于Buf操作NIO可以读取任意位置的数据 Channel中读取数据到Buffer中或将数据 Buffer 中写入到 Channel 事件驱动消息通知观察者模式

    Tomcat那些事儿 https://mp.weixin.qq.com/s?__biz=MzI3MTEwODc5Ng==&mid=2650860016&idx=2&sn=549 ...

  4. 使用sqoop1.4.4从oracle导入数据到hive中错误记录及解决方案

    在使用命令导数据过程中,出现如下错误 sqoop import --hive-import --connect jdbc:oracle:thin:@192.168.29.16:1521/testdb ...

  5. sqoop导oracle数据到hive中并动态分区

    静态分区: 在hive中创建表可以使用hql脚本: test.hql USE TEST; CREATE TABLE page_view(viewTime INT, userid BIGINT, pag ...

  6. hive 之 将excel数据导入hive中 : excel 转 txt

    一.需求: 1.客户每月上传固定格式的excel文件到指定目录.每月上传的文件名只有结尾月份不同,如: 10月文件名:  zhongdiangedan202010.xlsx  , 11月文件名: zh ...

  7. sqoop 从oracle导数据到hive中,date型数据时分秒截断问题

    oracle数据库中Date类型倒入到hive中出现时分秒截断问题解决方案 1.问题描述: 用sqoop将oracle数据表倒入到hive中,oracle中Date型数据会出现时分秒截断问题,只保留了 ...

  8. sqoop1.4.4从oracle导数据到hive中

    sqoop从oracle定时增量导入数据到hive 感谢: http://blog.sina.com.cn/s/blog_3fe961ae01019a4l.htmlhttp://f.dataguru. ...

  9. 在hive中查询导入数据表时FAILED: SemanticException [Error 10096]: Dynamic partition strict mode requires at least one static partition column. To turn this off set hive.exec.dynamic.partition.mode=nonstrict

    当我们出现这种情况时 FAILED: SemanticException [Error 10096]: Dynamic partition strict mode requires at least ...

随机推荐

  1. mysql数据库卸载和安装

    背景: 由于之前一个项目中用的数据库版本是免安装的mysql5.5.36,但是后来经过第三方测试公司测试出该数据库存在很多漏洞需要升级数据库才能解决.所以觉得将数据库更换为mysql-5.7.21-w ...

  2. Hibernate学习(三)

    Hibernate的查询方法(五种) 一.OID查询:按主键查询 --get( ) --load( ) 二.对象导航查询:通过已经查询到的联系人,得到起关联的对象 三.SQL查询 四.HQL查询(** ...

  3. google 开源项目阅读计划

    1. glog 2. gflags 3. carto 4. ...

  4. SpringBoot单元测试示例

    ⒈控制器Action示例 package cn.coreqi.controller; import org.junit.Test; import org.junit.runner.RunWith; i ...

  5. mysql5.7 版本中 timestamp 不能为零日期 以及sql_mode合理设置

    ---恢复内容开始--- 摘要: mysql5.7版本相比较之前的版本有很多的特性的增加以及默认配置的改变,在使用中难免会遇到与之前的使用习惯或者项目需求不符的情况.就需要调整相应的变量的值,比如sq ...

  6. 项目中常用的SQL语句(SQL SERVER2008R2专版)

    1.exists 关键字的使用 /****** Script for SelectTopNRows command from SSMS ******/ SELECT [RoleId] ,[RoleOr ...

  7. MySQL报错总结

    错误一: MySQL从cmd使用命令“mysql -u root -p”启动报错,显示“不能连接到端口xxx”(实际端口为3306),这里的问题实际是由于我没有设置mysql开机自启动,所以解决方案就 ...

  8. sms-tools的使用

    先前只有python36的版本,在使用sms-tools的时候遇到了这样那样的问题,现统一记录一下: 运行环境说明: 1. 需要c++编译器,为了避免安装vs,选择了vcforpython27 2.  ...

  9. a标签中href属性引起的页面不跳转问题

    先简单描述问题,今天在做一个简单的提交页面的时候,碰到了跳转不了的问题.其中a标签的形式<a href="" onclick="submit()"> ...

  10. 狼抓兔子 BZOJ- 1001 最小割

    https://www.lydsy.com/JudgeOnline/problem.php?id=1001 一个图,问你花费多少才能把到终点的所有边堵住... 就是求一个最小割,把$(1,1)$和$( ...