北京小辉
余辉,硕士毕业于中科院,从事IT行业12年。专注于大数据、云数据、用户画像、推荐算法。在数据团队担任过的角色:研发、架构师、负责人、讲师。数据知识产权:出版大数据书籍【1】本,论文【2】篇,软著【6】篇,专利【65】篇。
展开
-
tez 安装教程
环境版本CDH5.16.2 hadoop 2.7.0-cdh5.16.2安装前期准备1、This assumes that you have already installed JDK8 or later and Maven 3 or later.2、Tez also requires Protocol Buffers 2.5.0, including the protoc-compiler. This can be downloaded from https://github.com/google原创 2020-06-02 11:40:30 · 906 阅读 · 0 评论 -
Hive教程(一)---hive入门
目录一、hive入门1.1什么是Hive Hive:由Facebook开源用于解决海量结构化日志的数据统计(海量的结构化数据的运算分析)。 本质是:将Hive SQL转化成MapReduce程序 或者 spark程序 。Hive是基于Hadoop的一个数据仓库工具(服务性的软件),可以将结构化的数据文件映射为一张表,并提供类似于SQL查询。 &nbs原创 2020-05-08 22:46:14 · 1733 阅读 · 0 评论 -
Hive教程(二)---hive的安装
目录2.1 Hive安装地址2.2 Hive的集群安装部署2.3 将本地文件导入Hive案例2.4 MySql安装2.5 Hive元数据配置到MySql2.6 HiveJDBC访问2.7 Hive常用交互命令2.8 Hive其他命令操作2.9 Hive常见属性配置2.1 Hive安装地址Hive官网地址文档查看地址下载地址github地址2.2 Hive的集群安装部署2.2.1 HDFS和YARN正常运行2.2.2 mysql环境准备1) [root原创 2020-05-08 23:30:39 · 628 阅读 · 0 评论 -
Hive教程(三)---Hive数据类型
目录3.1基本数据类型3.2集合数据类型3.3类型转化表1-1 基本数据类型Hive数据类型Java数据类型长度例子TINYINTbyte1byte有符号整数20SMALINTshort2byte有符号整数20INTint4byte有符号整数20BIGINTlong8byte有符号整数20BOOLEANboolean布尔类型,true或者falseTRUE FALSEFLOATfloat单精度浮点数3.原创 2020-05-08 23:46:11 · 599 阅读 · 0 评论 -
Hive教程(四)---DDL(Data Definition Language)
目录4.1 创建数据库4.2 查询数据库4.3 修改数据库4.4 删除数据库4.5 创建表4.6 分区表4.7 修改表(结构)4.8 删除表4.1 创建数据库1)创建一个数据库,数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.db。hive (default)> create database db_hive;2)避免要创建的数据库已经存在错误,增加if not exists判断。(标准写法)hive (default)> creat原创 2020-05-09 00:30:00 · 490 阅读 · 0 评论 -
Hive教程(五)---DML(Data Manipulation Language)数据操作
目录5.1 数据导入5.2 数据导出5.3 清除表中数据(Truncate)5.1 数据导入5.1.1 向表中装载数据(Load)1.语法hive> load data [local] inpath '/opt/module/datas/student.txt' overwrite | into table student [partition (partcol1=val1,…)];(1)load data:表示加载数据(2)local:表示从本地加载数据到hive表;否则从HD原创 2020-05-09 00:41:40 · 378 阅读 · 0 评论 -
Hive教程(六)---查询
目录6.1 基本查询(Select…From)6.2 Where语句6.3 分组6.4 Join语句6.5 排序6.6 分桶及抽样查询6.7 其他常用查询函数6.1 基本查询(Select…From)6.1.1 全表和特定列查询全表查询hive (default)> select * from emp;选择特定列查询hive (default)> select empno, ename from emp;注意:(1)SQL 语言大小写不敏感。(2)S原创 2020-05-11 07:44:42 · 384 阅读 · 1 评论 -
Hive教程(七)---函数
目录7.1系统内置函数7.2 自定义函数7.3 自定义UDF函数7.4 json解析函数:表生成函数7.1系统内置函数查看系统自带的函数hive> show functions;显示自带的函数的用法hive> desc function upper;详细显示自带的函数的用法hive> desc function extended upper;7.2 自定义函数 1)Hive 自带了一些函数,比原创 2020-05-12 23:10:53 · 391 阅读 · 0 评论 -
Hive教程(八)---压缩和存储
目录8.1 Hadoop源码编译支持Snappy压缩8.2 Hadoop压缩配置8.3 开启Map输出阶段压缩8.4 开启Reduce输出阶段压缩8.5 文件存储格式8.6 存储和压缩结合8.1 Hadoop源码编译支持Snappy压缩8.1.1 资源准备CentOS联网配置CentOS能连接外网。Linux虚拟机ping www.baidu.com 是畅通的注意:采用root角色编译,减少文件夹权限出现问题jar包准备(hadoop源码、JDK8 、maven、proto原创 2020-05-15 23:18:15 · 369 阅读 · 1 评论 -
Hive教程(九)---企业级调优
目录前述9.1 Fetch抓取9.2 本地模式9.3 表的优化9.4 数据倾斜9.5 并行执行9.6 严格模式9.7 JVM重用9.8 推测执行9.9 压缩9.10 执行计划(Explain) (搜索)前述查询速度 效率分区 分桶表特殊的文件格式 列式存储的文件类型查询时候指定字段join的时候使用on 避免笛卡尔积hive底层mr , inert into valuesreduce阶段 数据倾斜 添加reduce的个数设置maptask处理数据的大小 ,原创 2020-05-13 22:27:54 · 429 阅读 · 0 评论 -
Hive教程(十)---JDBC的连接
目录10.1 创建maven项目添加依赖10.2 JAVAAPI10.1 创建maven项目添加依赖Jdbc是jdk开发的操作数据库的一套标准API(接口方法)Java提供的一套操作数据库的标准API<dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId>原创 2020-05-15 23:28:26 · 431 阅读 · 0 评论 -
Hive教程(十一)---整合HBASE
目录6.4.1 HBase与Hive的对比6.4.2 HBase与Hive集成使用6.4.1 HBase与Hive的对比Hive(1) 数据仓库Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询。(2) 用于数据分析、清洗Hive适用于离线的数据分析和清洗,延迟较高。(3) 基于HDFS、MapReduceHive存储的数据依旧在DataNode上,编写的HQL语句终将是转换为MapReduce代码执行。HBase(1)原创 2020-05-15 23:32:45 · 393 阅读 · 0 评论 -
Hive教程(十二)---HIVE表的备份及清除脚本
#!/usr/bin/env bash:<<EOF将${db}中的${tableName}备份到${bak_db}中,且删除${db}.${tableName}EOFif [ $# != 2 ] ; thenecho "请输入参数:库名 表名"echo " e.g.: ./cleanHiveTable.sh app app_system_yh_d"exit 1;fi...原创 2019-04-25 11:17:59 · 1472 阅读 · 0 评论 -
Hive教程(十三)---CDH 永久全局Hive的udf函数
目录1、需求2、Demo结构图及数据3、创建Hive表加载数据4、创建Hive的UDF函数及结果展示1、需求:进行公司需要做数据抽取工作,其中需要通过hive的UDF函数进行数据脱敏demo下载路径2、Demo结构图及数据数据及操作步骤在doc\data中,Maven中有配置依赖和Jar包名称,只要install就可以打包。#数据1|612345222220006543...原创 2019-09-29 11:12:21 · 1522 阅读 · 0 评论 -
Hive教程(十四)---hive常用命令备份
insert overwrite directory ‘/user/yuhui/table12’ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,’select原创 2020-05-12 10:00:28 · 448 阅读 · 0 评论 -
Hive架构原理
1.用户接口:Client CLI(hive shell)、JDBC/ODBC(java访问hive)、WEBUI(浏览器访问hive)2.元数据:Metastore 元数据包括:表名、表所属的数据库(默认是default)、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所...原创 2020-02-20 10:16:59 · 549 阅读 · 0 评论 -
hive函数大全
目录一、hive函数之数学函数二、hive函数之聚合函数三、hive函数之表生成函数四、hive函数之其他内置函数一、hive函数之数学函数round(double d)--返回double型d的近似值(四舍五入),返回bigint型;round(double d,int n)--返回保留double型d的n位小数double型近似值(四舍五入);floor(double d)-...原创 2019-11-06 12:07:40 · 615 阅读 · 0 评论 -
Hive中row_number()函数用法详解及示例
目录一、Hive 中row_number()函数介绍二、使用示例三、总结四、附录在Oracle中,我们经常会用到row_number() over(partition by clo1 order by clo2 desc) 方法来取表中clo1 重复记录clo2最大的一条或几条记录,那在Hive上row_number()是否存在这个函数,其具体的用法是怎么样的呢?下面我们通过具体的示...原创 2019-04-26 10:51:17 · 12646 阅读 · 0 评论 -
Hive中UDF函数包含HttpClient依赖冲突
目录一、错误信息二、问题分析及解决三、httpclient-4.2.5版本Get,Post方法四、httpclient-4.5.3版本Get,Post方法一、错误信息:Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to execute method public java.lang.String...原创 2019-04-11 20:05:32 · 2145 阅读 · 3 评论 -
Hive表有几个T数据包含了20万个Partition,Hive表删除过程
目录1、需求2、问题3、过程————————————————————————————-1、需求Hive表有几个T数据包含了20万个Partition,需要将hive表删除2、问题drop table if exists table_name; 出现的错误信息如下:FAILED: Execution Error, return code 1 fro...原创 2018-07-26 17:27:47 · 1191 阅读 · 0 评论 -
Hive表有几个T数据包含了20万个Partition,数据分析过程
目录1、需求2、问题3、解决的方案3.1、第一种(时间减少30%)3.2、第二种(时间减少30%–40%,并且可以处理大数据表,不会出现内存溢出)————————————————————————————1、需求:Hive表有几个T数据包含了20万个Partition,目前使用 analyze table 的方式分析表的统计信息速度很慢2、问题...原创 2018-07-26 13:56:25 · 1393 阅读 · 0 评论 -
hive中的分页
一、借助唯一标识字段如果分页的表有唯一标识的字段,可以通过这个字段来实现分页: • 获取第一页数据: 注:同时需要记录这10条中最大的id为preId,作为下一页的条件。 select * from table order by id asc limit 10; • 获取第二页数据: 注:同时保存数据中最大的id替换preId。 select * from table where原创 2016-03-20 08:26:29 · 10583 阅读 · 0 评论 -
HIVE的简介
What is Hive Hive是基于Hadoop(HDFS, MapReduce)的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。 本质是将SQL转换为MapReduce程序Why use Hive面临的问题: 1)人员学习成本太高 我只是需要一个简单的环境: 1)MapReduce如何搞定 2) 复杂查询好难 3) J原创 2016-03-19 10:25:41 · 797 阅读 · 0 评论 -
HIVE的内部表和外部表
Hive的数据表创建数据文件 inner_table.dat 创建表 hive>create table inner_table (key string); 加载数据 hive>load data local inpath ‘/root/inner_table.dat’ into table inner_table; 查看数据 hive>原创 2016-03-19 16:38:25 · 1842 阅读 · 0 评论 -
Hive数据存储的各种模式
Hive的数据分为表数据和元数据,表数据是Hive中表格(table)具有的数据;而元数据是用来存储表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。下面分别来介绍。一、Hive的数据存储在让你真正明白什么是hive 博文中我们提到Hive是基于Hadoop分布式文件系统的,它的数据存储在Hadoop分布式文件系统中。Hive本身是没有专门的数据存储格式,也没有为数据建原创 2016-03-22 22:04:02 · 826 阅读 · 0 评论 -
HIVE的分区、hive关联Hbase、UDF函数
Hive and HDFS 原始数据//建立hive和Hdfs的外部关联表 CREATE EXTERNAL TABLE people(id int,sex string,name string) partitioned by (logdate string,hour string) row forma原创 2016-03-19 16:50:09 · 5179 阅读 · 0 评论 -
hive启动报错:Found class jline.Terminal, but interface was expected
[ERROR] Terminal initialization failed; falling back to unsupportedjava.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected at jline.TerminalFactory.cr原创 2016-06-02 16:37:24 · 6774 阅读 · 3 评论 -
Java连接hive报错01
这个错误是hive的版本的包导致的。java.sql.SQLException: Could not establish connection to jdbc:hive2://hadoop2:10000/default: Required field 'serverProtocolVersion' is unset! Struct:TOpenSessionResp(status:TStatus(st原创 2017-06-03 16:28:47 · 5508 阅读 · 3 评论 -
HiveService2启动源码查看
目录1、问题2、解决(这里先放着,只作为记录)3、通过源码和日志排查过程———————————————————————————-1、问题:近期公司的HiveService2启动有点慢,需要10分钟.2、解决(这里先放着,只作为记录): 初步的解决办法: 注释 HiveServer2.java中的167行 HiveMaterialize...原创 2018-07-23 17:31:52 · 1022 阅读 · 0 评论 -
hive中的排序
order byorder by 会对输入做全局排序,因此只有一个reducer**(多个reducer无法保证全局有序)**只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。 Sql代码 1. set hive.mapred.mode=nonstrict; (default value / 默认值) 2. set hive.mapred.mode=strict;原创 2016-03-19 19:16:10 · 900 阅读 · 0 评论