Hive生成UUID
发表于|更新于|Hive
|总字数:190|阅读时长:1分钟|浏览量:
在处理数据过程中,为了能较快的定位导数据,通常都要给一个或者一组数据生成一个唯一key,有些数据可以用一些特殊的条件字段来组合生成,因为通过这些条件可以定位到唯一的一条或者一组数据。但是组成这个Key也是个坑,一个不小心就会导致key重复,那么我们就可以通过UUID来最大限度的避免这个问题。
可以使用如下方式生成UUID
1 | regexp_replace(reflect("java.util.UUID", "randomUUID"), "-", "") |
这样就会生成一个唯一的字符串,不能说百分百唯一,但是重复的几率真的是非常少了。
文章作者: Charles
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 码农笔记!
相关推荐

2020-11-04
Hive写入ES时提示httpclient包找不到的问题
在数据计算完成后,有部分数据会有导入ES的需求,最常用也是最简单的就是使用hive-elasticsearch的映射表来实现,可参考将Hive表与ElasticSearch关联。在ElasticSearch7.8.0与CDH5.9中可以正常将数据由Hive写入ElasticSearch。但是更换为CDH6.3以后,会出现如下错误: 12345678910111213141516171819202122232425262728293031323334352020-11-04 19:10:19,363 INFO [IPC Server handler 6 on 36328] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Diagnostics report from attempt_1604387526070_2011_m_000000_0: Error: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/apache/commons/httpcli...

2019-07-14
Hive日期函数
使用Hive进行数据计算免不了要用到日期相关的函数,常用的就两种,但是一旦遇到不常用的就又开始面向Google编程了,于是在此总结下,方便查阅。 unix_timestamp()该函数返回当前时区的时间戳,是比较常用的函数。 123select unix_timestamp();1563033600 unix_timestamp(string date)该函数返回指定日期的时间戳,是比较常用的函数。 123select unix_timestamp('2019-07-14 00:00:00');1563033600 注意,这里的date只能是yyyy-MM-dd HH:mm:ss的格式。 unix_timestamp(string date,string pattern)该函数返回指定格式日期的时间戳,是比较常用的函数。 123select unix_timestamp('2019-07-14','yyyy-MM-dd');1563033600 from_unixtime(bigint unixtime,string...

2018-11-06
解决执行HiveSQL时,报could not be cleaned up的错误
在执行HiveSQL时,出现了如下的错误: 1234567891011121314151617181920212223242526272018-11-05 16:43:02,568 ERROR org.apache.hadoop.hive.ql.exec.Task: [HiveServer2-Background-Pool: Thread-30333]: Failed with exception Directory hdfs://master:8020/user/hive/bus_optimation_xm/g_operate_statistic/date_time=201806124/date_type=1440/date_flag=1/index_id=100201001 could not be cleaned up.org.apache.hadoop.hive.ql.metadata.HiveException: Directory hdfs://master:8020/user/hive/bus_optimation_xm/g_operate_statistic/da...

2018-10-16
将Hive表与ElasticSearch关联
现有一需求,需要将Hive的表与ElasticSearch关联起来,数据插入Hive表后,可以直接在elasticsearch中查询。 1.下载elasticsearch-hadoop依赖请前往https://www.elastic.co/downloads/past-releases下载对应版本的依赖包,我这边的ES集群版本为5.2.2。所以下面的示例都已ES5.2.2版本来演示。 解压依赖包,将其中的elasticsearch-hadoop-5.2.2.jar上传到hive的机器上。 2.给Hive添加Elasticsearch的依赖在hive的机器上执行hive,进入交互模式: 1hive 执行如下命令,将ES的依赖添加到hive中去。 1ADD JAR /var/lib/hadoop-hdfs/elasticsearch-hadoop-5.2.2.jar; 看到如下提示: 12Added /var/lib/hadoop-hdfs/elasticsearch-hadoop-5.2.2.jar to class pathAdded resources: /var/lib/...

2019-07-23
HiveSQL导入jar
通常,在使用第三方扩展或者UDF的时候,我们都需要将这个jar包在执行SQL前添加到Hive中去,目前我维护的HiveSQL中主要是有两种方式: set hive.aux.jars.path add jar 之前我个人一直使用的是add jar的方式,于是很好奇这两种有什么不一样的,经过一番搜索也没发现有什么主要的区别,这两种方式都是针对一次session生效的,据我搜索的统计(样本很少,请忽略),大部分开发者也都比较喜欢使用add jar来添加第三方的jar。这里就主要说一下用法吧。 hive.aux.jars.path的用法1set hive.aux.jars.path=/tmp/elasticsearch-hadoop-5.2.2.jar; 这里的jar包必须上传到HDFS上的/tmp路径下才可以。如果你要添加本地的jar包,则需要写成如下形式: 1set hive.aux.jars.path=file:///tmp/elasticsearch-hadoop-5.2.2.jar; add jar的用法1add jar /tmp/elasticsearch-hado...

2023-08-23
在Windows11上使用WSL安装Hive
接上一篇《在Windows11上使用WSL安装Hadoop伪分布式》本篇记录下安装Hive的过程。 环境 Hadoop服务 JDK1.8 Hive3.1.2 MySQL8.0 下载Hive1wget https://dlcdn.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz 部署Hive解压创建一个hive的文件夹 123mkdir ~/hivetar -xvzf apache-hive-3.1.2-bin.tar.gz -C ~/hive 配置环境变量1vim ~/.zshrc 修改为如下内容: 1234export HADOOP_HOME=~/hadoop/hadoop-3.3.2export HIVE_HOME=/home/charles/hive/apache-hive-3.1.2-binexport PATH=$PATH:$HADOOP_HOME/bin:$HIVE_HOME/binexport HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 使环境变量生效 1so...
评论
WalineDisqus
公告
收集笔记






