- 建表
-- 分區表建表
create table if not exists project1.test1_liqb_dt (
id bigint comment 'id',
name string comment '姓名'
)partitioned by (
ds bigint comment '日分區')
comment 'test'
lifecycle 31 ;
-- 非分區表建表
create table if not exists project1.test1_liqb (
id bigint comment 'id',
name string comment '姓名'
)comment 'test'
lifecycle 31 ;
- 展示表屬性,展示表信息,展示表分區
# 顯示錶屬性
desc test1_liqb_dt;
# 顯示錶分區
show partitions test1_liqb_dt;
- 插入,重寫,刪除數據,刪除分區,分區值改名
-- 重寫數據
INSERT OVERWRITE TABLE test1_liqb_dt PARTITION(ds=20191229)
SELECT id,name,rq FROM project1.test1_liqb_dt;
-- 追加數據
INSERT INTO TABLE test1_liqb_dt PARTITION(ds=20191229)
SELECT id,name,rq FROM project1.test1_liqb_dt;
-- 刪除表
drop table project1.test1_liqb_dt;
-- 刪除/添加表分區
alter table project1.test1_liqb_dt drop/add partition (ds = 20191230);
-- 更改分區值名
alter table test1_liqb_dt partition (ds=20191230) rename to partition(ds=20200101);
需要注意的是,sparksql不支持delete和update操作,但我們可以變相用overwrite實現update,delete,比如這裏刪除id爲1的數據,則可以自己overwrite自己
-- delete操作
INSERT OVERWRITE TABLE test1_liqb_dt PARTITION(ds=20191229)
SELECT id,name,rq FROM project1.test1_liqb_dt
WHERE ds = 20191229
AND id <> 1;
- 通過文本文件上傳下載數據
-- 數據上傳:通過臨時表的形式進行數據上傳,分區表與非分區表多了一個partition
load data '/user/datacompute/hhy_dw/resources/13592/latest/travelimage.csv' table tdl_spark_test options( delimiter=',');
insert overwrite table hhy_dw.ods_chg_rt_dfs_gantry_travelimage_dt partition(ds=20200330) select * from tdl_spark_test;
-- 數據下載:導出到文件再在平臺下載
create table tdl_0_0111 lifecycle 1 select id,name from project.table1;
export table tdl_0_0111 TO 'demo_export.csv' options(delimiter=',');
數據傳輸詳情見我之前的博客:https://blog.csdn.net/mochou111/article/details/104840700
select getHZ('FHK匹配JS漢字123fds符合東方 *** 飛機的回覆、31 3256323232若峯的算法555555%%%7,,, ');