hdfs数据到hive中,以及hdfs数据隐身理解
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数据隐身理解的更多相关文章
- Hive中导入Oracle数据错误:Listener refused the connection with the following error: ORA-12505
问题: 今天往Hive中导入Oracle数据的时候碰到了如下错误:Listener refused the connection with the following error: ORA-12505 ...
- (转)原始图像数据和PDF中的图像数据
比较原始图像数据和PDF中的图像数据,结果见表1.1.表1.1中各种“解码器”的解释见本文后续的“PDF支持的图像格式”部分,“PDF中的图像数据”各栏中的数据来自开源的PdfView.如果您有兴趣查 ...
- 一个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 ...
- 使用sqoop1.4.4从oracle导入数据到hive中错误记录及解决方案
在使用命令导数据过程中,出现如下错误 sqoop import --hive-import --connect jdbc:oracle:thin:@192.168.29.16:1521/testdb ...
- sqoop导oracle数据到hive中并动态分区
静态分区: 在hive中创建表可以使用hql脚本: test.hql USE TEST; CREATE TABLE page_view(viewTime INT, userid BIGINT, pag ...
- hive 之 将excel数据导入hive中 : excel 转 txt
一.需求: 1.客户每月上传固定格式的excel文件到指定目录.每月上传的文件名只有结尾月份不同,如: 10月文件名: zhongdiangedan202010.xlsx , 11月文件名: zh ...
- sqoop 从oracle导数据到hive中,date型数据时分秒截断问题
oracle数据库中Date类型倒入到hive中出现时分秒截断问题解决方案 1.问题描述: 用sqoop将oracle数据表倒入到hive中,oracle中Date型数据会出现时分秒截断问题,只保留了 ...
- sqoop1.4.4从oracle导数据到hive中
sqoop从oracle定时增量导入数据到hive 感谢: http://blog.sina.com.cn/s/blog_3fe961ae01019a4l.htmlhttp://f.dataguru. ...
- 在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 ...
随机推荐
- RabbitMQ简单应用の主题模式(topic)
Topic exchange(主题转发器) 发送给主题转发器的消息不能是任意设置的选择键,必须是用小数点隔开的一系列的标识符.这些标识符可以是随意,但是通常跟消息的某些特性相关联.一些合法的路由选择键 ...
- 对mysql乐观锁、悲观锁、共享锁、排它锁、行锁、表锁概念的理解
乐观锁 乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是不加锁),而在进行更新后,再去判断是否有冲突了. 实现: 通常实现是 ...
- 20165221学习基础和C语言基础调查
1.你有什么技能比大多人(超过90%以上)更好? - 我觉得自己应该改算资质平平的那种人,如果说有什么技能比大多数人更好,我觉得应该是看过自己喜欢的书后,那种记忆能力.就比如自己从小对历史很感兴趣,小 ...
- 第一节,Windows10下Darkflow的安装与测试(YOLO)
1.下载Darkflow:https://github.com/thtrieu/darkflow 2.解压到目录,打开cmd,进入到解压的目录,并输入python setup.py build_ext ...
- 使用多线程提高Rest服务性能
⒈使用Runnable异步处理Rest服务 /** *使用Runnable异步处理Rest服务 * @return */ @GetMapping("/order") public ...
- js中 && 和 || 的用法
js中的&& 和 || 一直以为是php那一套,上网查了一些资料,才发现不一样 a() && b() :如果执行a()后返回true,则执行b()并返回b的值:如果执行 ...
- 《Windows核心编程》读书笔记 上
[C++]<Windows核心编程>读书笔记 这篇笔记是我在读<Windows核心编程>第5版时做的记录和总结(部分章节是第4版的书),没有摘抄原句,包含了很多我个人的思考和对 ...
- shiro使用
web.xml配置 <filter> <filter-name>shiroFilter</filter-name> <filter-class>org. ...
- java常见命名规则
常见命名规则: 包:类似文件夹,用于把相同的类名进行区分(小写) 单级:例如:student 多级:例如:cn.student 类或者接口: 一个单词:单词首字母大写,例如:Student 多个单词: ...
- Confluence 6 上传站点图标后重置你的配色方案
当你上传一个站点标识图片后,Confluence 会根据你上传的图片文件自动侦测使用的颜色,并为你设置自动配色方案. 你可以按照上面描述的方法修改色彩配色方案,或者你也可以重置配色方案为默认的配色方案 ...