hivesql⾃动⽣成id的两种⽅法随机id和⾃增id
⽂章⽬录
1.⽣成⾃增id:row number() over(order by)
使⽤窗⼝函数来⽣成⾃增id是⽐较常见的⼿法
select*from yc_test1
grade_id subject_name max_score
1语⽂98
2数学95
2政治87
5语⽂97
5数学100
6政治92
--给上表追加⼀个⾃增id的查询
select
row_number(order by grade_id)as id
,grade_id
,subject_name
java replace方法,max_score
from
yc_test1
--查询结果
id grade_id subject_name max_score
11语⽂98
22数学95
32政治87
45语⽂97
55数学100
66政治92
.
2.随机不重复id: regexp_replace(reflect(‘java.util.UUID’,‘randomUUID’),’-’,’’)
2.UUID.randomUUID() 是 javaJDK提供的⼀个⾃动⽣成主键的⽅法
3.UUID(Universally Unique Identifier):通⽤唯⼀识别码,是⼀种软件建构的标准。并且保证同⼀时空⽣成的机械码都是唯⼀的长串如:51bee5d5-d28d-4561-9347-63634930055c
4.因为我这边id不想要中间的’-’,所以使⽤regexp_replace将’-'替换为⽆
select*from yc_test1
grade_id subject_name max_score
1语⽂98
2数学95
2政治87
5语⽂97
5数学100
6政治92
--给上表追加⼀个随机id的查询
select
regexp_replace(reflect('java.util.UUID','randomUUID'),'-','') id ,grade_id
,subject_name
,max_score
from
yc_test1  limit2;
--查询结果
id grade_id subject_name max_score
51bee5d5d28d4561934763634930055c 1语⽂98
74df9490f93f4a67876c3b32a929686c 2数学95

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。