
Hive
文章平均质量分 67
hive的学习分享
喜欢coding的谢同学
2020年网易实习
2021年字节跳动校招
小Red书同名,一起努力学习吧~
展开
-
为Hive-1.2新增thrift接口的步骤
在hive_metastore.thrift定义接口、自定义bean类型和自定义异常原创 2022-12-04 16:39:19 · 1021 阅读 · 1 评论 -
使用Mac编写Thirft的HelloWorld项目
最近在hive新增Thirft接口,于是学习了一下Thirft的使用根据thrift文件生成java基类在resource下创建一个hello.thrift文件进入resource,会在当前路径创建出一个gen-java.service.demo的文件夹。文件夹下面有Hello.java文件,将其移动到main目录的service.demo包中构建服务端并启动启动后,开源看到日志输出3. 创建客户端并访问服务端运行后成功拿到结果负责连接调度、服务的生命周期,定义接口是TServ原创 2022-12-04 16:38:07 · 536 阅读 · 0 评论 -
简单两步在单元测试中使用HDFS和Hive
INSERT VALUES Unit TestValidated SqlNode在这里插入代码片before fixINSERT INTO `CATALOG`.`SALES`.`T3`VALUES ROW('a', CAST(1.0 AS INTEGER), CAST(1 AS SMALLINT)),ROW('b', 2, CAST(2 AS SMALLINT)),ROW('c', 3.0, CAST(3 AS SMALLINT)),ROW('d', 4.0, 4),ROW('e', 5原创 2021-11-27 14:21:09 · 892 阅读 · 0 评论 -
直接使用Hive的Driver运行Fetch任务
前言大家都知道Hive的Fetch是常用的优化手段,但都是通过HiveCli或者HiveServer2执行的Fetch任务。这种方式足够一般的使用,但不利于集成到自己的项目。下面通过学习HiveFetch的单元测试来直接使用Driver运行Fetch任务。单测在 org.apache.hadoop.hive.ql.exec的TestOperators中有FetchOperator的单元测试@Test public void testFetchOperatorContext() throws Ex原创 2021-09-19 18:04:02 · 360 阅读 · 0 评论 -
Debug分析Hive UDF的执行流程以及简单示例
文章目录前言原理示例前言通常编写HQL能方便的使用Hive的UDF,但是对其原理还不太熟悉,于是debug分析了一下它是如何执行的。原理以select concat('hello', 'world');为例,先根据functionName获得FunctionInfo根据参数类型初始化UDF,在调用evaluate进行祭计算示例 @Test public void testGenericUdf() { String[] dataTypes = new String[]{"St原创 2021-08-15 17:15:40 · 1086 阅读 · 0 评论 -
Hive Fetch的原理
JIRAhttps://issues.apache.org/jira/browse/HIVE-2925https://issues.apache.org/jira/secure/attachment/12541300/HIVE-2925.3.patch.txtFilehttps://github.com/apache/hive/blob/7b3ecf617a6d46f48a3b6f77e0339fd4ad95a420/ql/src/java/org/apache/hadoop/hive/ql/pla原创 2021-08-15 16:13:41 · 570 阅读 · 0 评论 -
简单四步用idea快速debug hive
准备hivegit clone https://github.com/big-data-europe/docker-hive.git端口转发5005:5005启动hivehive --debug port=5005启动idea选择attach模式原创 2021-08-15 09:10:47 · 276 阅读 · 0 评论 -
HiveUDF的evaluate方法使用分析
文章目录前言分析创建arguments获得evaluateNumericOpMethodResolverDefaultUDFMethodResolverComparisonOpMethodResolver调用evaluate前言工作中需要自己加载并使用Hive的UDF,于是学习了一下Hive的加载过程。分析创建argumentsorg.apache.hadoop.hive.serde2.objectinspector包下面有很多类包装不同类型的参数,在evaluate的时候需要使用获得eval原创 2021-08-07 14:12:54 · 2027 阅读 · 3 评论 -
图解Hive中grouping sets的使用
文章目录前言案例总结前言图解group by时cube和rollup的区别中讨论了cube、 rollup之间的区别,接下来继续讨grouping sets的使用案例数据和建表的准备工作在上一篇博客已经有介绍,不过这里为了使数据有一些差异多加了一行之前构造的数据分布太均匀,male、female、married、unmarried都是5个grouping sets实际上就是多个group by的结果union到一起,比如下面的查询gender, marital_statussele原创 2021-06-14 16:25:51 · 590 阅读 · 0 评论 -
图解Hive中group by时cube和rollup的区别
前言Jack,male,unmarriedTom,male,unmarriedJim,male,unmarriedJames,male,marriedTony,male,marriedJessica,female,marriedAlice,female,marriedChris,female,marriedRose,female,unmarriedAnny,female,unmarriedcreate table test_table(name string,gender strin原创 2021-05-22 14:02:13 · 812 阅读 · 2 评论 -
引入Hive-16061补丁后遇到更严重的OOM问题
这个补丁用于修复Hive的某些输出不会打印到beeline控制台:https://issues.apache.org/jira/browse/HIVE-16061定位泄漏对象将文件dump后容易发现泄漏的对象是这个Map测试一条查询对应的key,成功remove掉了客户端重新连接,新增了大量key,怀疑是新建客户端连接的时候没能成功移除这些key同时磁盘上对应的文件夹却被删除掉,可以确认是这里发生了内存泄漏。深入分析首先不难发现MAP是的私有对象,所以对它的操作一般要通过Abstr原创 2021-01-17 15:00:46 · 260 阅读 · 0 评论 -
hive企业级优化
文章目录避免MR开启fetch严格模式MR运行时优化自动本地模式join大小表join大表join大表group bycount(distinct)去重统计行列过滤避免MR开启fetchconf例如:SELECT * FROM employees;在这种情况下,Hive 可以简单地读取 employee 对应的存储目录下的文件,然后输出查询结果到控制台严格模式conf避免分区表的全表扫描,必须指定分区。order by必须limit避免reducer额外执行太久避免笛卡尔积M原创 2020-06-26 21:10:23 · 215 阅读 · 0 评论