天天看點

Dinky的使用——snappy2mysql

需求:将壓縮檔案snappy的資料同步到mysql資料庫

snappy可以作為orc檔案的壓縮格式存在,是以在添加依賴包的時候,直接添加orc的依賴包就可以了

還有一點注意的是,在建立hive表的時候,指明snappy壓縮

下面是一個hive建表舉例

create table stu_orc(id int,name string)
stored as orc 
tblproperties ('orc.compress'='snappy');      

一、添加依賴包

在dinky的plugins目錄和flink的lib目錄下,添加orc依賴jar包,并重新開機dinky和flink

下載下傳位址參考:https://www.bookstack.cn/read/ApacheFlink-1.13-zh/6f9399b3e1a8dd04.md

再次提醒,下載下傳的時候注意flink的版本,要跟自己的flink版本比對

Dinky的使用——snappy2mysql

二、建立作業

Dinky的使用——snappy2mysql

三、編寫flinksql代碼

我這裡提前準備好snappy壓縮檔案,提前建立Hive的snappy表,并插入資料,hdfs上下載下傳好snappy格式的資料檔案

CREATE TABLE fs_table (
`id` STRING,
`name` STRING,
`sex` STRING,
`age` STRING,
`work` STRING
)  WITH (
  'connector'='filesystem',
  'path'='/home/data/snappy',
  'format'='orc'
);

CREATE TABLE snappy_out( 
`id` STRING,
`name` STRING,
`sex` STRING,
`age` STRING,
`work` STRING
) WITH (
  'connector' = 'jdbc', 
  'url' = 'jdbc:mysql://172.16.119.50:3306/test?createDatabaseIfNotExist=true&useSSL=false',
  'username' = 'root',
  'password' = 'Tj@20220710', 
  'table-name' = 'snappy_out' 
);

INSERT INTO snappy_out select id,name,sex,age,work from      

四、運作作業

檢測sql語句沒有文法問題後,標明提前部署的flink叢集,直接運作作業

Dinky的使用——snappy2mysql

運作成功

Dinky的使用——snappy2mysql

檢視mysql表的資料,确認資料是否同步過來

Dinky的使用——snappy2mysql

繼續閱讀