Hive Serde、Beeline、JDBC
一、Hive Serde
用于做序列化和反序列化,构建在数据存储和执行引擎之间,对二者实现解耦。
创建表的2种规则row format:delimited和serde,正则匹配
创建表:
CREATE TABLE logtbl (host STRING,identity STRING,t_user STRING,time STRING,request STRING,referer STRING,agent STRING)ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'WITH SERDEPROPERTIES ("input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) \\[(.*)\\] \"(.*)\" (-|[0-9]*) (-|[0-9]*)")STORED AS TEXTFILE;
案例:数据清洗ETL
数据源:
192.168.57.4 - - [29/Feb/2016:18:14:35 +0800] "GET /bg-upper.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:35 +0800] "GET /bg-nav.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:35 +0800] "GET /asf-logo.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:35 +0800] "GET /bg-button.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:35 +0800] "GET /bg-middle.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET / HTTP/1.1" 200 11217
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET / HTTP/1.1" 200 11217
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET /tomcat.css HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET /tomcat.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET /asf-logo.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET /bg-middle.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET /bg-button.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET /bg-nav.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET /bg-upper.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET / HTTP/1.1" 200 11217
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET /tomcat.css HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET /tomcat.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET / HTTP/1.1" 200 11217
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET /tomcat.css HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET /tomcat.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET /bg-button.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:36 +0800] "GET /bg-upper.png HTTP/1.1" 304 -
定义读写规则,只读 [] 和“”中的。
([^ ]*) ([^ ]*) ([^ ]*) \\[(.*)\\] \"(.*)\" (-|[0-9]*) (-|[0-9]*)
192.168.57.4 - - [29/Feb/2016:18:14:35 +0800] "GET /bg-upper.png HTTP/1.1" 304 -
192.168.57.4 - - [29/Feb/2016:18:14:35 +0800] "GET /bg-nav.png HTTP/1.1" 304 -
对照正则表达式分析:([^ ]*)所有的都得非空\\[(.*)\\]只读[]里的数据\"(.*)\"匹配双引号内的数据读出来(-|[0-9]*)匹配数据0-9
将数据导入到logtbl表中:
hive> load data local inpath '/root/log' into table logtbl;
此时 插叙logtbl表,[]和“”都已经被清洗干净了。但是load的时候导入到hdfs中的数据( hdfs dfs -cat /user/hive/warehouse/logtbl/*
),[]和“”还在。因为我们只是定义了读写规则,读的时候把数据摘干净了。
Hive对数据的正确性检查,是读时检查。
二、Hive Beeline(默认不验证用户名、密码)
Beeline是命令行的另一种连接工具,和HiveServer2一起使用。beeline通过10000端口连接Server
Client通过beeline连接hive的2种方式:
#localhost就是服务端node3,default就是用的哪个数据库
1、beeline -u jdbc:hive2://localhost:10000/default -n root
2、beeline
beeline> !connect jdbc:hive2://<host>:<port>/<db>;auth=noSasl root 123
服务端启动HiveServer2:hiveserver2
客户端连接beeline方式1:
[root@node4 conf]# beeline -u jdbc:hive2://node3:10000 -n root
查看tables:
0: jdbc:hive2://node3:10000> show tables;
+-----------+--+
| tab_name |
+-----------+--+
| logtbl |
| psn0 |
| psn2 |
| psn3 |
| psn4 |
| psn5 |
| psnjg |
| tbl |
+-----------+--+
8 rows selected (7.789 seconds)
退出beeline:!quit
客户端连接beeline方式2:
beeline
beeline> !connect jdbc:hive2://node3:10000 root 123
三、JDBC
JDBC运行方式:服务端启动hiveserver2后,在java代码中通过调用hive的jdbc访问默认端口10000进行连接、访问。
Hive Serde、Beeline、JDBC相关推荐
- Hive 03_DML、SerDe、Beeline、JDBC
Hive DML --LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1 ...
- Apache Hive 2.1.1 安装配置超详细过程,配置hive、beeline、hwi、HCatalog、WebHCat等组件...
2019独角兽企业重金招聘Python工程师标准>>> 在Docker环境成功搭建了Apache Hadoop 2.8 分布式集群,并实现了NameNode HA.ResourceM ...
- 【干货】Apache Hive 2.1.1 安装配置超详细过程,配置hive、beeline、hwi、HCatalog、WebHCat等组件...
在Docker环境成功搭建了Apache Hadoop 2.8 分布式集群,并实现了NameNode HA.ResourceManager HA之后(详见我的另一篇博文:Apache Hadoop 2 ...
- hive、impala的客户端,cli、beeline、WebHCat
连接hive有2种形式,hive cli 和 beeline hive提供了以表的形式访问hdfs文件的功能,metastore对外提供表的元数据信息.有了元数据,就可以结构化的表的形式访问hdfs上 ...
- hive CLI、hwi、beeline、hiveserver、hiveserver2之间的关系
一.hiveserver和hiveserver2 概述:这两个都是hive的一个服务,为了给外部的应用提供一个访问hive的通道.hiveserver2是hiveserver的一个升级版,由于hive ...
- Hive、Beeline、Spark-SQL、Spark-Shell CLI使用
文章目录 1 Hive 2 Beeline 3 Spark-SQL 4 Spark-Shell 1 Hive [root@hqc-test-hdp1 ~]# su hdfs [hdfs@hqc-tes ...
- Hive 客户端 Beeline 、IDEA|Eclipse使用JDBC连接hiveserver2
1.Beline Beeline 要与HiveServer2配合使用 服务端启动hiveserver2 客户的通过beeline两种方式连接到hive a.beeline -u jdbc:hive2: ...
- 大数据_——利用hive仓库模拟数据进行日活、日新、留存数据的分析统计(详细代码步骤)
开启服务的方式连接hive: bin/beeline!connect jdbc:hive2://localhost:10000 假如有一个web系统,每天生成以下日志文件: 2017-09-15号的数 ...
- 6、HIVE JDBC开发、UDF、体系结构、Thrift服务器、Driver、元数据库Metastore、数据库连接模式、单/多用户模式、远程服务模式、Hive技术原理解析、优化等(整理的笔记)
目录: 5 HIVE开发 5.1 Hive JDBC开发 5.2 Hive UDF 6 Hive的体系结构 6.2 Thrift服务器 6.3 Driver 6.4 元数据库Metastore 6.5 ...
最新文章
- oracle数据导出方法,oracle多种导入导出数据方法
- ASCII码表完整版
- Java提高班(一)Thread详解
- Java静态代理、动态代理与CGLib代理
- nohup 带参数_广州市西门子两通阀VVF42.40-25C+SKD62带断电
- VTK:单元格内部对象CellsInsideObject用法实战
- 数组常用方法归纳源代码
- 【HDU - 1281 】棋盘游戏 (经典的二分图匹配,匈牙利算法,枚举删除顶点,必须边,关建边)
- xgboost算法_工业大数据:分析算法
- leetcode44:wildcard
- linux+多路复用socket,socket的select_多路复用
- 设置DIV块元素在浏览器页面中垂直居中
- openwrt 添加luci选项
- Map转JSON内容解释
- php单页搜索引擎小偷,PIGO mini php搜索小偷 v2.0 正式版
- Excel将两个图片合并为一张
- 联想小新Pro 13新款笔记本电脑获TUV莱茵低蓝光认证
- GameCenter首次登录很慢的解决方案
- 骑士cms任意代码执行(CVE-2020-35339)
- 自动化测试 selenium 模块 webdriver使用
热门文章
- 36岁自学python_Python语言基础
- python保存图片到指定路径_python将处理好的图像保存到指定目录下的方法
- Redis持久化存储详解(一)
- Jupyter on Kubernetes机器学习-MLflow
- 主营无线部件 高通与TDK创立合资公司
- random.nextint()
- wiquery ManipulatingHelper
- HTML5学习笔记简明版(2):新元素之section,article,aside
- 推荐一个ASP的内容管理框架(ASP Nuke)
- python之xlrd、xlwt学习