随笔分类 - hive
摘要:CREATE TABLE IF NOT EXISTS jsontest( date STRING, channel STRING, machine STRING, resolution STRING, display STRING, ip STRING, lat STRING, lng STRING
阅读全文
摘要:遇到一个不规则的json如下: trace是数组,外面2个time,hash都是单个字段。 所以通过hive建表如下,trace使用了array包裹了struct结构: create external table xy_ods.ods_address_trace( trace array<struc
阅读全文
摘要:默认我们使用的hive自带的json包格式,创建表时格式为: CREATE EXTERNAL TABLE `ods.ods_test`( ... ) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' STORED AS text;
阅读全文
摘要:1. 原因 写入iceberg表时,会在hive_locks表中插入一条记录,表示该表正在被写入(hive中的独占锁) 当数据插入完成后,会自动删除该条记录。 2. 出现场景 (1)在同时往同一个iceberg表中写入数据时,会出现Retrying task after failure: Waiti
阅读全文
摘要:SQL 错误 [1] [08S01]: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.i
阅读全文
摘要:执行spark任务居然碰到了hive中表的被锁了,导致写数据时失败,这个还真是头一次碰到过这回事。 错误信息如下: 22/09/04 21:02:28 WARN Tasks: Retrying task after failure: Waiting for lock. org.apache.iceb
阅读全文
摘要:感悟:有时候很简单的笨办法,比那些高大上的技术要实用的多。 有一个数据同步,大约4亿条记录,没有分区。现在要按照天,小时分区写入到iceberg的分区表中。 源数据中本身就是很多几十k大小的非常多的小文件。 于是在读取时,总想着要shuffle,合并小文件,于是是这样的: hive_df = spa
阅读全文
摘要:1. nginx的安装 1.1 下载上传 http://nginx.org/en/download.html 1.2 linux上安装c++编译环境 yum install -y zlibyum install gcc-c++ openssl openssl-devel zlib-devel pcr
阅读全文
摘要:按顺序生成 50 - 60 之间的数字作为多行的记录集,结果如下: 第一步: 用最大值减去最小值,然后使用以下语句生成10个空的集合数组, select 50 as minNum,split(space(60-50),'') as x; 显示如下: 第二步:将x进行展开,使用posexplode可以
阅读全文
摘要:准备的数据,现在要求将b, c两列中空白的值使用前面的值补充。 补充完的结果需要如下: 第一步: 确定数据是否有行号,如果没有,则自己增加一列行号,如准备数据的a列。如果已经有,此步可忽略。 第二步: 增加两列b1,c1, 将空值设置为0,非空值设置为1。 select a,b,c, case wh
阅读全文
摘要:发现自己确实越来越笨,好在解决了。 通常将hive的连接信息和sql语句写在一个脚本里面执行,这样看起来方便,修改起来也方便。 但是最近由于sql语句太长了,所以拆开两部分。一部分是hive的连接,另一部分是sql文件。通过-f传参执行。 beeline --hiveconf mapreduce.j
阅读全文
摘要:分段函数常用于分箱中,统计分组在指定的区间中的占比。 比如有如下例子:统计某个班级中考试分数在各个阶段的占比。 准备的数据如下: 使用如下文件在hive中建表。 class1,1,100 class1,2,88 class1,3,90 class1,4,23 class1,5,30 class1,6
阅读全文
摘要:表字段中jsonStr是一个json格式的字符串,类似于map结构。{"name”:"king", "age":18, "score":99} 使用str_to_map可以转化为map结构。 str_to_map(regexp_replace(regexp_replace(regexp_replac
阅读全文
摘要:今天遇到hive表新增字段,以往建表都是建外表,直接drop后,重新创建。 由于这次全部使用内表创建的,所以使用add column功能新增字段。 alter table xy_dw.dw_transaction_eth add columns(type1 string comment '类型');
阅读全文
摘要:当hive中分区字段有NULL值时,hive会使用dynamic partition,数据会放到一个特殊的分区,这个分区由参数“hive.exec.default.partition.name”控制,默认为“__HIVE_DEFAULT_PARTITION__”,即上面这种情况。 如果不想保留,则使
阅读全文
摘要:先解释下,由于历史原因导致hive中的看到分区比hdfs中的文件夹不匹配,存在hive中分区数有,实际hdfs中无此文件夹。 spark中通过sparkSQL读取hive中的该表时,将会出现异常。 解决方案: 1. 检查该表是否是外部表,如果不是,将属性修改为外部表属性。 这里修改为外部表,目的是在
阅读全文
摘要:from_unixtime 时间戳转换,如果带毫秒数的,除以1000. reload function 今天碰到udf发布后,有时候连接正常,有时候连接不正常。然后问同事,提供了一个这样的命令。
阅读全文
摘要:1. desc function [函数名] desc function xpath; 查询用法: 2. desc function extended [函数名] desc function extended xpath; 查询使用举例: 3. 自定义函数添加说明: 使用@Description注解
阅读全文
摘要:用途: 根据查询到结果数量来判断,是否需要再执行下个脚本。 1. 查询语句script.q脚本如下: 2. shell脚本如下: 这里注意hive语句需要包裹在``(左上角~按键)里面,然后可以把输出的结果赋值给一个变量。 执行结果显示如下:
阅读全文

浙公网安备 33010602011771号