hbase-hive整合及sqoop的安装配置使用
从hbase中拿数据,然后整合到hbase中
上hive官网 -- 点击wiki--> hive hbase integation(整合) --》 注意整合的时候两个软件的版本要能进行整合 按照官网的要求
在整合之前需要将hive 的jar进行导入 : hive-hbase-handler-x.y.z.jar
单节点的启动命令
$HIVE_SRC/build/dist/bin/hive --auxpath
$HIVE_SRC/build/dist/lib/hive-hbase-handler-0.9.0.jar,
$HIVE_SRC/build/dist/lib/hbase-0.92.0.jar,
$HIVE_SRC/build/dist/lib/zookeeper-3.3.4.jar,$HIVE_SRC/build/dist/lib/guava-r09.jar
--hiveconf hbase.master=hbase.yoyodyne.com:60000
集群的启动命令 --至少三个集群
$HIVE_SRC/build/dist/bin/hive --auxpath $HIVE_SRC/build/dist/lib/hive-hbase-handler-0.9.0.jar,$HIVE_SRC/build/dist/lib/hbase-0.92.0.jar,$HIVE_SRC/build/dist/lib/zookeeper-3.3.4.jar,$HIVE_SRC/build/dist/lib/guava-r09.jar --hiveconf hbase.zookeeper.quorum=zk1.yoyodyne.com,zk2.yoyodyne.com,zk3.yoyodyne.com
--需要将hive和hbase的jar进行整合
a)先将hbase中的jar包拷贝到hive中
cp ./*.jar /root/apache-hive-1.2.1-bin/lib/
b)将hive的jar包拷贝到hbase 中
cp ./hive-hbase-hadler.jar
c)在hive客户端分别启动habse 和 hive 启动 没有先后顺序
启动hbase start-hbase.sh
启动hive 现在服务端启动hive服务 hive --service metastore
然后在客户端启动hive ./hive
在客户端启动hbase hbase shell
将hbase的列映射到hive中
3、在hive中创建临时表
CREATE EXTERNAL TABLE tmp_order
(key string, id string, user_id string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,order:order_id,order:user_id")
TBLPROPERTIES ("hbase.table.name" = "t_order");
CREATE TABLE hbasetbl(key int, value string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")
TBLPROPERTIES ("hbase.table.name" = "xyz", "hbase.mapred.output.outputtable" = "xyz");
在hive中插入数据,数据最终会被插入到hbase中
要创建hive外部表,需要先在hbase中创建这个表,然后在hive中创建这个表
sqoop相关知识总结
sqoop由client端直接接入hadoop,任务通过解析生成对应的mapreduce执行
安装步骤:
1、解压
2、配置环境变量
export SQOOP_HOME= /XX/sqoop.xx
3、添加数据库驱动包
cp mysql-connector-java-5.1.10.jar/sqoop-install-path/lib
4、 重命名配置文件
mv sqoop-env-template.sh sqoop-env.sh
sqoop list-databases --connect jdbc:mysql://node1:3306 -username root --password 123
sqoop import --connect jdbc:mysql://node1:3306/test --username root --password 123 --columns start_ip,end_ip,country --delete-target-dir -m 1 -table test2 --target-dir /sqoop/
也可以将sqoop命令放到一个文件中 再进行执行
将sqoop放置到文件中的格式
import
--connect
jdbc:mysql://node1:3306/test
--username
root
--password
123
--columns
start_ip,end_ip,country
--delete-target-dir
-m
1
-table
test2
--target-dir
/sqoop/
执行文件的命令: sqoop --options-file option
2、在文件中加入具体的sql执行语句
import
--connect
jdbc:mysql://node1:3306/test
--username
root
--password
123
--delete-target-dir
-m
1
--target-dir
/sqoop/
-e select start_ip,end_ip from test2 where $CONDITIONS
执行文件的命令:sqoop --options-file option1
注: sql语句后面必须包含条件 $CONDITIONS
在hive中查询执行的结果:
dfs-cat /sqoop/*
在hive文件条件查询中添加配置条件
import
--connect
jdbc:mysql://node1:3306/test
--username
root
--password
123
--columns
start_ip,end_ip,country
--delete-target-dir
-m
1
-table
test2
--target-dir
/sqoop/
--where
"country = 'US'"
---将mysql的数据直接导入到hive表中
import
--connect
jdbc:mysql://node1:3306/test
--username
root
--password
123
--columns
start_ip,end_ip,country
--delete-target-dir
-m
1
-table
test2
--hive-import
--create-hive-table
--hive-table
sqoophive
注意命令文件的书写格式
---将hive的数据导出到mysql
export
--connect
jdbc:mysql://node1:3306/test
--username
root
--password
123
--columns
start_ip,end_ip,country
-m
1
--table
h_sql
--export-dir
/sqoop/
注:要将hive的数据导入到mysql中,hive文件中存储的数据必须是具有mysql能够接受的数据格式,才能够将数据全部的导入。
from (
select
pl, from_unixtime
(cast(s_time/1000 as bigint),'yyyy-MM-dd') as day, u_ud,
(case when count(p_url) = 1 then "pv1"
when count(p_url) = 2 then "pv2"
when count(p_url) = 3 then "pv3"
when count(p_url) = 4 then "pv4"
when count(p_url) >= 5 and count(p_url) <10 then "pv5_10"
when count(p_url) >= 10 and count(p_url) <30 then "pv10_30"
when count(p_url) >=30 and count(p_url) <60 then "pv30_60"
else 'pv60_plus' end) as pv
from event_logs
where
en='e_pv'
and p_url is not null
and pl is not null
and s_time >= unix_timestamp('2019-03-15','yyyy-MM-dd')*1000
and s_time < unix_timestamp('2019-03-15,'yyyy-MM-dd')*1000
group by
pl, from_unixtime(cast(s_time/1000 as bigint),'yyyy-MM-dd'), u_ud
) as tmp
insert overwrite table stats_view_depth_tmp
select pl,day,pv,count(distinct u_ud) as ct where u_ud is not null group by pl,day,pv;
hbase-hive整合及sqoop的安装配置使用的更多相关文章
- Sqoop的安装配置及使用
一.Sqoop基础:连接关系型数据库与Hadoop的桥梁 1.1 Sqoop的基本概念 Hadoop正成为企业用于大数据分析的最热门选择,但想将你的数据移植过去并不容易.Apache Sqoop正在加 ...
- 【sqoop】安装配置测试sqoop1
3.1.1 下载sqoop1:sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 3.1.2 解压并查看目录: [hadoop@hadoop01 ~]$ tar -zxvf sq ...
- 一脸懵逼学习Hive的元数据库Mysql方式安装配置
1:要想学习Hive必须将Hadoop启动起来,因为Hive本身没有自己的数据管理功能,全是依赖外部系统,包括分析也是依赖MapReduce: 2:七个节点跑HA集群模式的: 第一步:必须先将Zook ...
- 1 复习ha相关 + weekend110的hive的元数据库mysql方式安装配置(完全正确配法)(CentOS版本)(包含卸载系统自带的MySQL)
本博文的主要内容是: .复习HA相关 .MySQL数据库 .先在MySQL数据库中建立hive数据库 .hive的配置 以下是Apache Hadoop HA的总结.分为hdfs HA和yarn HA ...
- Java Web整合开发(附录1) - 安装配置环境
1. Install JDK http://blog.csdn.net/sonnet123/article/details/9169741 Download JDK http://www.oracle ...
- 大数据之路week07--day06 (Sqoop 的安装及配置)
Sqoop 的安装配置比较简单. 提供安装需要的安装包和连接mysql的驱动的百度云链接: 链接:https://pan.baidu.com/s/1pdFj0u2lZVFasgoSyhz-yQ 提取码 ...
- hbase 2.0.2 分布式安装配置/jar包替换
环境 zk: 3.4.10 hadoop 2.7.7 jdk8 hbase 2.0.2 三台已安装配置好的hadoop002,hadoop003,hadoop004 1.上传并解压hbase-2.1. ...
- Hive 系列(一)安装部署
Hive 系列(一)安装部署 Hive 官网:http://hive.apache.org.参考手册 一.环境准备 JDK 1.8 :从 Oracle 官网下载,设置环境变量(JAVA_HOME.PA ...
- cdh版本的hue安装配置部署以及集成hadoop hbase hive mysql等权威指南
hue下载地址:https://github.com/cloudera/hue hue学习文档地址:http://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-c ...
随机推荐
- 使用xheditor时 cloneRange错误 ext.net
使用ext.net 加 xheditor时,一直报 cloneRange错误. 于是 按照说明但独使用xheditor ,检查无错,正常使用, 因此排除版本问题. <ext:panel ru ...
- Eureka入门案例
1.整体思路 1.1.服务注册中心Eureka(可以是一个集群,对外暴露自己的地址) 1.2.服务提供者:启动后向Eureka注册自己的信息(地址,提供什么服务) 1.3.客户端消费者:向Eureka ...
- CentOS7.3安装Go运行和开发环境
https://blog.csdn.net/warnerwu/article/details/73825105
- aspnetcore2.1 部署到docker (访问出现404)
Dockerfile FROM microsoft/dotnet:2.1-aspnetcore-runtime WORKDIR /app COPY ./publish . ENTRYPOINT [&q ...
- tar.gz和tar.bz2
Linux下常见压缩格式为tar.gz和tar.bz2,解压命令如下: .tar.gz tar -zxvf 文件名 .tar.bz2 tar -jxvf 文件名
- 黑电平校正BLC
参考:https://www.cnblogs.com/zhangAlin/p/10661763.html
- DLL简单分析与调用方法
最近为了分析一个没有代码的DLL有哪些函数,找了各种方法. 把结果分享一下:三个方法都没法得到函数的参数,有点让我失望. DLL Export Viewer NikPEViewer Dumpbin 配 ...
- nginx1.14.0下载、安装、启动
nginx1.14.0下载及安装 wget http://nginx.org/download/nginx-1.14.0.tar.gztar -zxvf nginx-1.14.0.tar.gzcd n ...
- fontFamily 'Ionicons' is not a system font and has not been loaded through Expo.Font.loadAsync的问题
import * as React from "react";import { Provider } from "mobx-react/native";impo ...
- java+Selenium+TestNg搭建自动化测试架构(3)实现POM(page+Object+modal)
1.Page Object是Selenium自动化测试项目开发实践的最佳设计模式之一,通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化,只需要调整页面元素封装的代码,提高测试用例 ...