You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by Tony Wei <to...@gmail.com> on 2021/08/05 02:20:42 UTC
sql hints 在寫入透過 hive 創建的表時沒有作用
Hi Experts,
我嘗試使用 sql hints 去覆寫 hive sink table 的配置,發現 sql hints 沒有生效。
我測試了修改 `sink.parallelism` 來調整寫入的並行度,但並行度仍舊為 `1`。(sql 任務配置的並行度)
我運行的環境版本是 Flink 1.12.2,底下是我在 flink sql client 的操作流程和結果的截圖。
寫入的 `user_hive_2` 表是透過 hive beeline 創建的,不是透過 flink sql ddl。
同時我也確認了 `table.dynamic-table-options.enabled` 的配置是啟用的。
請問是否是我在配置上或是使用上弄錯了什麼嗎?感謝解答。
CREATE CATALOG MyCatalog
> WITH (
> 'type' = 'hive',
> 'hive-conf-dir' = '/etc/hive/conf',
> 'hadoop-conf-dir' = '/etc/hadoop/conf'
> );
>
CREATE TABLE gen_users (
> name STRING,
> age INT
> ) WITH (
> 'connector' = 'datagen',
> 'rows-per-second' = '50'
> );
insert into `MyCatalog`.`default`.`user_hive_2` /*+
> OPTIONS('sink.parallelism'='2') */ select * from gen_users;
[image: Screen Shot 2021-08-04 at 4.33.20 PM.png]
[image: Screen Shot 2021-08-04 at 4.33.32 PM.png]
[image: Screen Shot 2021-08-04 at 4.34.13 PM.png]
Re: sql hints 在寫入透過 hive 創建的表時沒有作用
Posted by Tony Wei <to...@gmail.com>.
Hi Caizhi,
我測試了 sink.rolling-policy.rollover-interval 這個配置,並且改使用 csv hive table 作為
sink table,結果是符合預期的。再次謝謝你的幫忙。
Tony Wei <to...@gmail.com> 於 2021年8月5日 週四 上午10:40寫道:
> Hi,
>
> 感謝指正,我的目的是為了測試 sql hints 是否生效,選擇 `sink.parallelism` 是
> 單純因為這個配置比較好觀察結果。
> 我會再嘗試其他 hive streaming sink 的配置測試看看。謝謝。
>
> Caizhi Weng <ts...@gmail.com> 於 2021年8月5日 週四 上午10:36寫道:
>
>> Hi!
>>
>> 单独设置 sink 并发是 1.13 的新特性。可以升级到 1.13 试试看。
>>
>> Tony Wei <to...@gmail.com> 于2021年8月5日周四 上午10:21写道:
>>
>> > Hi Experts,
>> >
>> > 我嘗試使用 sql hints 去覆寫 hive sink table 的配置,發現 sql hints 沒有生效。
>> > 我測試了修改 `sink.parallelism` 來調整寫入的並行度,但並行度仍舊為 `1`。(sql 任務配置的並行度)
>> >
>> > 我運行的環境版本是 Flink 1.12.2,底下是我在 flink sql client 的操作流程和結果的截圖。
>> > 寫入的 `user_hive_2` 表是透過 hive beeline 創建的,不是透過 flink sql ddl。
>> > 同時我也確認了 `table.dynamic-table-options.enabled` 的配置是啟用的。
>> >
>> > 請問是否是我在配置上或是使用上弄錯了什麼嗎?感謝解答。
>> >
>> > CREATE CATALOG MyCatalog
>> >> WITH (
>> >> 'type' = 'hive',
>> >> 'hive-conf-dir' = '/etc/hive/conf',
>> >> 'hadoop-conf-dir' = '/etc/hadoop/conf'
>> >> );
>> >>
>> >
>> >
>> > CREATE TABLE gen_users (
>> >> name STRING,
>> >> age INT
>> >> ) WITH (
>> >> 'connector' = 'datagen',
>> >> 'rows-per-second' = '50'
>> >> );
>> >
>> >
>> >
>> > insert into `MyCatalog`.`default`.`user_hive_2` /*+
>> >> OPTIONS('sink.parallelism'='2') */ select * from gen_users;
>> >
>> >
>> > [image: Screen Shot 2021-08-04 at 4.33.20 PM.png]
>> > [image: Screen Shot 2021-08-04 at 4.33.32 PM.png]
>> > [image: Screen Shot 2021-08-04 at 4.34.13 PM.png]
>> >
>> >
>>
>
Re: sql hints 在寫入透過 hive 創建的表時沒有作用
Posted by Tony Wei <to...@gmail.com>.
Hi,
感謝指正,我的目的是為了測試 sql hints 是否生效,選擇 `sink.parallelism` 是
單純因為這個配置比較好觀察結果。
我會再嘗試其他 hive streaming sink 的配置測試看看。謝謝。
Caizhi Weng <ts...@gmail.com> 於 2021年8月5日 週四 上午10:36寫道:
> Hi!
>
> 单独设置 sink 并发是 1.13 的新特性。可以升级到 1.13 试试看。
>
> Tony Wei <to...@gmail.com> 于2021年8月5日周四 上午10:21写道:
>
> > Hi Experts,
> >
> > 我嘗試使用 sql hints 去覆寫 hive sink table 的配置,發現 sql hints 沒有生效。
> > 我測試了修改 `sink.parallelism` 來調整寫入的並行度,但並行度仍舊為 `1`。(sql 任務配置的並行度)
> >
> > 我運行的環境版本是 Flink 1.12.2,底下是我在 flink sql client 的操作流程和結果的截圖。
> > 寫入的 `user_hive_2` 表是透過 hive beeline 創建的,不是透過 flink sql ddl。
> > 同時我也確認了 `table.dynamic-table-options.enabled` 的配置是啟用的。
> >
> > 請問是否是我在配置上或是使用上弄錯了什麼嗎?感謝解答。
> >
> > CREATE CATALOG MyCatalog
> >> WITH (
> >> 'type' = 'hive',
> >> 'hive-conf-dir' = '/etc/hive/conf',
> >> 'hadoop-conf-dir' = '/etc/hadoop/conf'
> >> );
> >>
> >
> >
> > CREATE TABLE gen_users (
> >> name STRING,
> >> age INT
> >> ) WITH (
> >> 'connector' = 'datagen',
> >> 'rows-per-second' = '50'
> >> );
> >
> >
> >
> > insert into `MyCatalog`.`default`.`user_hive_2` /*+
> >> OPTIONS('sink.parallelism'='2') */ select * from gen_users;
> >
> >
> > [image: Screen Shot 2021-08-04 at 4.33.20 PM.png]
> > [image: Screen Shot 2021-08-04 at 4.33.32 PM.png]
> > [image: Screen Shot 2021-08-04 at 4.34.13 PM.png]
> >
> >
>
Re: sql hints 在寫入透過 hive 創建的表時沒有作用
Posted by Caizhi Weng <ts...@gmail.com>.
Hi!
单独设置 sink 并发是 1.13 的新特性。可以升级到 1.13 试试看。
Tony Wei <to...@gmail.com> 于2021年8月5日周四 上午10:21写道:
> Hi Experts,
>
> 我嘗試使用 sql hints 去覆寫 hive sink table 的配置,發現 sql hints 沒有生效。
> 我測試了修改 `sink.parallelism` 來調整寫入的並行度,但並行度仍舊為 `1`。(sql 任務配置的並行度)
>
> 我運行的環境版本是 Flink 1.12.2,底下是我在 flink sql client 的操作流程和結果的截圖。
> 寫入的 `user_hive_2` 表是透過 hive beeline 創建的,不是透過 flink sql ddl。
> 同時我也確認了 `table.dynamic-table-options.enabled` 的配置是啟用的。
>
> 請問是否是我在配置上或是使用上弄錯了什麼嗎?感謝解答。
>
> CREATE CATALOG MyCatalog
>> WITH (
>> 'type' = 'hive',
>> 'hive-conf-dir' = '/etc/hive/conf',
>> 'hadoop-conf-dir' = '/etc/hadoop/conf'
>> );
>>
>
>
> CREATE TABLE gen_users (
>> name STRING,
>> age INT
>> ) WITH (
>> 'connector' = 'datagen',
>> 'rows-per-second' = '50'
>> );
>
>
>
> insert into `MyCatalog`.`default`.`user_hive_2` /*+
>> OPTIONS('sink.parallelism'='2') */ select * from gen_users;
>
>
> [image: Screen Shot 2021-08-04 at 4.33.20 PM.png]
> [image: Screen Shot 2021-08-04 at 4.33.32 PM.png]
> [image: Screen Shot 2021-08-04 at 4.34.13 PM.png]
>
>