Hive一條SQL使用隨機值創建測試表一百萬條數據

找一個1000條數據的表,例如表large01,利用left join通過表的笛卡爾積插入,1000 left join 1000 爲 1000000,若初始表只有十條數據,無非是多left join幾次;同理更大批量數據也可以實現

create table  test_table_100w as
select 
row_number() over(order by 1) as id,
substr(concat('',rand()),3) as number_str,
from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:dd:ss') as str_datetime,
from_unixtime(unix_timestamp()+ row_number() over(order by 1),'yyyy-MM-dd HH:dd:ss') as str_datetime_add,
from_unixtime(unix_timestamp(),'yyyy-MM-dd') as str_date,
date_add(concat('',from_unixtime(unix_timestamp(), 'yyyy-MM-dd')),(row_number() over(order by 1))/10000) as date_add,
date_sub(concat('',from_unixtime(unix_timestamp(), 'yyyy-MM-dd')),(row_number() over(order by 1))/10000) as date_sub,
concat('隨機字段值', substr(concat('',rand()),3)) as random_string0,
concat('隨機字段值', substr(concat('',rand()),3)) as random_string1,
concat('隨機字段值',substr(concat('',rand()),3)) as random_string2,
concat('隨機字段值', substr(concat('',rand()),3)) as random_string3,
concat('隨機字段值', substr(concat('',rand()),3)) as random_string4,
concat('隨機字段值', substr(concat('',rand()),3)) as random_string5,
concat('隨機字段值', substr(concat('',rand()),3)) as random_string6,
concat('隨機字段值', substr(concat('',rand()),3)) as random_string7,
concat('隨機字段值', substr(concat('',rand()),3)) as random_string8,
concat('隨機字段值', substr(concat('',rand()),3)) as random_string9,
'' as description
from (select '' from large01 limit 1000) as t1  left join (select '' from large01 limit 1000) as t2 on 1=1;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章