需求:将壓縮檔案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版本比對
二、建立作業
三、編寫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叢集,直接運作作業
運作成功
檢視mysql表的資料,确認資料是否同步過來