结合linux命令讲解线上用hive拉取hbase数据
来源:互联网 发布:shell脚本编程pdf 编辑:程序博客网 时间:2024/05/29 13:41
需求描述
最近刚搞定入职,过段时间要着重研究漏斗模型这一块,所以要先要去线上环境拉取数据,我们打算的是用hive建外部表关联hbase的做法,去拉取用户信息
拉取流程
由于本机不能直接访问线上master,我们这边是先ssh到跳板机,然后从跳板机再ssh到线上环境,进入hive,创建mapping hbase的外部表,导出数据,压缩到本地,打包后scp到跳板机,再跳板机scp到本机pc,操作比我上家规范很多,下面结合linux命令讲一下
步骤
- ssh到跳板机 这里就是个ssh命令:
ssh username@ip(hostname)
,此时输入跳板机的秘密,成功就跳转到跳板机,同样从跳板机ssh到线上环境就可以了 - hive创建外部表 先进入hive shell,cd到hive目录下的bin路径,由于我们只是导数据,所以需要创建一个mapping到hbase的tmp表就可以
CREATE EXTERNAL TABLE tmp_hb_user(uid string COMMENT 'from deserializer',username string COMMENT 'from deserializer',gender string COMMENT 'from deserializer',thirdpartyName string COMMENT 'from deserializer') STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,user:realName,user:gender,user:thirdpartyName") TBLPROPERTIES("hbase.table.name" = "hb_user");
由于我们并不需要hbase中user的全部属性,直接感兴趣的mapping好就可以,我们这里取数据只要用户id,用户名,性别,渠道商就可以,而uid由于是rowkey,所以在映射的时候就是:key
,而其他的直接映射就好
3. 表创建好我们可以查一下数据
select count(*) from tmp_hb_user;
我们会发现会触发一个job,然后计算出结果,证明我们外部表创建成果
4. 导数据到本地
insert overwrite local directory "/tmp/user_info" row format delimited FIELDS TERMINATED BY '\t' select * from tmp_hb_user
这里其实也就指定了分隔符,以及本地文件系统的路径
5. 打包
结束后我们去/tmp/user_info
查看下,ls发现有数据,打成tar.gz包
tar -zcvf /tmp/user_info.tar.gz /tmp/user_info
执行结束就发现路径下多了个压缩包
6. 传回跳板机
此时我们还在master,那就scp到跳板机
scp /localpath username@hostname:/remotepath2save
这里username就是跳板机的用户,hostname就是跳板机的ip,如果有改hosts,就是hostname,localpath就是本地要传送的文件路径,而remotepath则是跳板机的存放路径
7. 传回本地
由于我们本机ip是ipv6,而且是动态的ip,所以最好的方法是在本机执行远程拷贝
scp username@hostname:/remotepath /localpath2save
执行完就发现本地有了文件
8. 解压缩
tar -zxvf /path4savetar.gz /path2save
解压完成我们今天的工作就可以了,后续就可以进行数据分析
my github
- 结合linux命令讲解线上用hive拉取hbase数据
- 结合企业应用实战讲解线上Linux服务器优化经验
- 结合企业应用实战讲解线上Linux服务器优化经验
- 使用git拉取线上
- hbase 与 hive 结合
- hbase 与 hive 结合
- hbase 与 hive 结合
- hive——拉取数据的一个实例
- Python自动化拉取Mysql数据并装载到Hive
- Python自动化拉取Mysql数据并装载到Hive
- Hive与Hbase结合使用
- 用hive外部表访问hbase数据
- Hive数据导入HBase
- hive处理hbase数据
- HBASE数据导入HIVE
- hive导出hbase数据
- 数据拉取
- 拉取全部数据
- Practical Rendering and Computation with Direct3D 11学习笔记(2.1.1)
- golang go语言 gomobile 移动端开发笔记
- windows程序设计学习笔记-键盘,鼠标,计时器
- 业界个人观系列 msup技术开放日
- 个人以为的一些不错的IT站
- 结合linux命令讲解线上用hive拉取hbase数据
- 选择人物主角方法二 (通过摄像机的变化)
- FZU 1011 Power Strings(KMP匹配算法)
- 项目管理 之 上传本地项目到github
- NVIDIA Jetson TK1搭建CUDA环境
- GDKOi总结
- SVN服务器提交失败 commit failed (details follow)
- AL速战速决20分钟
- Java 数据结构