
Hive
fengfengzai0101
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Hive debug
执行hive clihive --debug将hive源码导入idea开工作,进行编译配置远程debug点击idea开发工具中的debug,设置断点在服务器上执行HiveSQL语句,即可跟踪源码原创 2020-09-17 15:32:05 · 209 阅读 · 0 评论 -
创建bucket和sort表
创建bucket和sort表CREATE TABLE Employee( ID BIGINT, NAME STRING, AGE INT, SALARY BIGINT, DEPARTMENT STRING )COMMENT '雇员表'CLUSTERED BY(ID) SORTED BY(AGE) INTO 5 BUCKETSROW FORMAT DELIMITEDFIELDS TERMINATED BY ','STORED AS TEXTFILE;表是通过ID字段进行分桶,在每原创 2020-09-11 09:16:48 · 222 阅读 · 0 评论 -
Hive集成ElasticSearch
环境操作系统:Centos7集群:CDH5.16.2安装将elasticsearch-hadoop.jar添加到hive的classpath路径中方法1(此方法支持HDFS路径)add jar /path/elasticsearch-hadoop.jar;方法2(使用配置)bin/hive -hiveconf hive.aux.jars.path=/path/elasticsearch-hadoop.jar方法3(使用hive-site.xml配置文件)<property&原创 2020-07-28 10:28:58 · 618 阅读 · 0 评论 -
hive-列转行
Lateral view explode转换数组数据到多行。举例说明:创建测试表create table test_explode( name varchar(100), phones array<string>, cities array<string>);添加测试数据insert overwrite table test_explode select 'AAA',array("123456","678901"),array("city1",原创 2020-06-02 14:19:52 · 353 阅读 · 0 评论 -
在Vim中定位到某行的方法
打开文件时,定位到某行vim +line_num foo.c如果已经打开文件,使用下面的方法:line_num在文件中搜索word/pattern显示行号:set number原创 2020-05-12 21:20:42 · 982 阅读 · 0 评论 -
Hive常用命令
删除数据库如果数据库中存在表,默认restrict模式会阻止数据库删除要使用drop database database_name cascade;原创 2020-05-12 21:13:33 · 143 阅读 · 0 评论 -
在Hive中创建日期维度表
基础知识datediff操作select datediff("2020-01-10", "2020-01-01")输出:9repeat操作select repeat("o", 9);输出:ooooooooosplit操作select split("ooooooooo", "o");输出:["","","","","","","","","",""]posexplode操作select posexplode(split("ooooooooo", "o"));输出:pos,v原创 2020-05-11 21:27:34 · 4265 阅读 · 1 评论 -
hive insert overwrite仅仅覆盖生成的文件,并不会覆盖目录
介绍hadoop fs -ls /mytest/warehouse/mytable/Found 4 items-rwxrwxrwx 3 myvm users 1163 2016-11-24 03:11 /mytest/warehouse/mytable/000000_0-rwxrwxrwx 3 myvm users 0 2016-11-24 03:09 /mytest/warehouse...原创 2020-02-25 14:46:51 · 8518 阅读 · 7 评论 -
添加额外jars包到Hive
介绍有时需要添加额外JARs到Hive的classpath,例如自定义的SERDE包或者与其他应用集成的包。方法在Hive shell中使用add命令添加包add jar <jar_path>;列出包list jars;使用–auxpathhive --auxpath <path_to_jar>,<path_to_jar2>使用环境变量H...原创 2020-01-05 18:30:39 · 996 阅读 · 0 评论 -
使用Cloudera Manager修改hive-site.xml
登录Cloudera Manager,依次进入Hive->Configuration->Service-Wide->Advanced在Hive Service Advanced Configuration Snippet(Safety Value)for hive-site.xml添加或者覆盖配置点击Save Changes按钮点击Actions按钮,点击Deploy C...原创 2020-01-05 18:21:38 · 1288 阅读 · 0 评论 -
(MapR-FS)添加数据到Hive表,控制文件数量
介绍如果Hive表或者分区有太多小文件,那么HQL性能非常差,有时在提交它之前,需要很长时间准备MapReduce job,因为Hive需要获取每个文件元数据。这篇文章解释当添加数据到Hive表后,如何控制文件数量。insert overwrite table target select * from source;上面的SQL有两个主要步骤:MapReduce(这个例子仅仅是Map) ...原创 2019-12-09 15:04:52 · 667 阅读 · 0 评论 -
Hive中数据倾斜Join操作优化
例子加入系统中有两种表表1:事实表包含100万条记录有一个CODE_ID字段,数据类型是Integer,范围是1-10K99万条记录中CODE_ID字段值是2501万条记录的CODE_ID值是平均分配到剩余的值中表2:维度表5. 包含1万条记录6. 表太大而不能进行Map端的join操作7. 有CODE_ID字段,是唯一值可以看到在事实表中有99%记录在CODE_ID字段...原创 2019-12-09 14:20:26 · 924 阅读 · 1 评论 -
介绍Hive
介绍Hive是基于Hadoop构建的数据仓库系统,能够处理Hadoop上的结构化,非结构化数据。在Hive之前,必须编写复杂的MapReduce程序,在Hive之后,Hive能够将SQL转换为MapReduce。Hive简化了Hadoop的复杂,对Hive来说不需要学习Java,Hive以表的方式来组织数据。历史Hive是由Facebook开发的,在Facebook中Hive处理2PB的数据...原创 2019-11-28 14:46:35 · 289 阅读 · 0 评论 -
Hive vs Impala
目标Apache Hive和Impala都可以在HDFS上执行查询,但是他们之间存在一些不同,在这片文章中,将会做一下对比。介绍Hive一般使用Hive做数据密集型任务,例如查询,分析,处理,可视化。刚开始是由Facebook开发。Hive是基于Hadoop平台构建的数据仓库,当然也兼容其他的文件系统,例如S3。Hive提供HQL语言来读取数据并转换查询到MapReduce,Tez,Spa...原创 2019-11-28 13:29:14 · 294 阅读 · 0 评论 -
优化Hive查询性能
使用Tez加速执行Apache Tez是一种执行引擎,增加查询速度1到3倍开启Tez执行引擎set hive.execution.engine=tez;如果使用Cloudera/Hortonworks,在Hive查询编辑器中有TEZ选项。开启压缩压缩技术减少数据传输量,所以会减少mappers和reducers之间的数据传输量,最好在mapper和reducer中分别单独进行压缩操作...原创 2019-11-27 16:06:04 · 903 阅读 · 0 评论 -
Hive中的replace方法
Hive中的replace方法Hive本身并没有replace方法,但是提供了两个方法可以实现replace功能translateregexp_replacetranslate例子使用空字符串替换#字符> select translate('This #is test to verify# translate #Function in Hive', '#','');+---...原创 2019-11-26 17:41:35 · 68598 阅读 · 0 评论