Hive中生成随机唯一标识ID的方法
生活随笔
收集整理的這篇文章主要介紹了
Hive中生成随机唯一标识ID的方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
HIVE中處理的數據往往比較多,在處理數據的時候希望給處理得到的數據一個ID標識,這時候可以用到UUID。
UUID的算法的核心思想是結合機器的網卡、當地時間、一個隨即數來生成UUID。從理論上講,如果一臺機器每秒產生10000000個UUID,則可以保證(概率意義上)3240年不重復。UUID 的目的,是讓分布式系統中的所有元素,都能有唯一的標識,而不需要透過中央控制端來做標識。如此一來,每個人都可以建立不與其它人沖突的UUID。在這樣的情況下,就不需考慮數據標識建立時的名稱重復問題。
產生形如下數據:
690044a7-1400-4f2e-8003-4df850f21ac2
0eea4f29-6e80-4d8e-a7ce-5d4ea5f0e882
869d23f8-fe44-4d71-9c5b-3d94b1892f48
在HQL中可以這么寫:
regexp_replace(reflect("java.util.UUID", "randomUUID"), "-", "")- 1
- 1
將其中的‘-’清除掉,得到所要的唯一ID。缺點就是比較長。
轉載于:https://my.oschina.net/sniperLi/blog/751920
總結
以上是生活随笔為你收集整理的Hive中生成随机唯一标识ID的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 以己为壑
- 下一篇: 可视化数据包分析工具-CapAnalys