Bigtable change streams to BigQuery ํ ํ๋ฆฟ์ Bigtable ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋๋ฅผ ์คํธ๋ฆฌ๋ฐํ๊ณ Dataflow๋ฅผ ์ฌ์ฉํ์ฌ BigQuery ํ ์ด๋ธ์ ์ฐ๋ ์คํธ๋ฆฌ๋ฐ ํ์ดํ๋ผ์ธ์ ๋๋ค.
Bigtable ๋ณ๊ฒฝ ๋ด์ญ์ ์ฌ์ฉํ๋ฉด ํ ์ด๋ธ๋ณ๋ก ๋ฐ์ดํฐ ๋ณํ์ ๊ตฌ๋ ํ ์ ์์ต๋๋ค. ํ ์ด๋ธ ๋ณ๊ฒฝ ๋ด์ญ์ ๊ตฌ๋ ํ๋ฉด ๋ค์ ์ ์ฝ์กฐ๊ฑด์ด ์ ์ฉ๋ฉ๋๋ค.
- ์์ ๋ ์ ๋ฐ ์ญ์ ์์ ์ ์ค๋ช ์ด๋ง ๋ฐํ๋จ
- ์์ ๋ ์ ์ ์ ๊ฐ๋ง ๋ฐํ๋จ
๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋๊ฐ BigQuery์ ์์ฑ๋๋ฉด ํ์ด ์๋ณธ Bigtable ์ปค๋ฐ ํ์์คํฌํ ์์ ์ง์ ๊ณผ ๋ฌ๋ฆฌ ๋น์์ฐจ์ ์ผ๋ก ์ฝ์ ๋ ์ ์์ต๋๋ค.
์๊ตฌ ์ค๋ฅ๋ก ์ธํด BigQuery์ ๊ธฐ๋กํ ์ ์๋ ๋ณ๊ฒฝ ๋ก๊ทธ ํ ์ด๋ธ ํ์ ์ฌ๋์ด ์ง์ ๊ฒํ ํ๊ฑฐ๋ ์ฌ์ฉ์๊ฐ ์ถ๊ฐ ์ฒ๋ฆฌํ ์ ์๋๋ก Cloud Storage์ ๋ฐ๋ ๋ ํฐ ํ(์ฒ๋ฆฌ๋์ง ์์ ๋ฉ์์ง ํ) ๋๋ ํฐ๋ฆฌ์ ์๊ตฌ ์ ์ฅ๋ฉ๋๋ค.
ํ์ํ BigQuery ํ ์ด๋ธ์ด ์์ผ๋ฉด ํ์ดํ๋ผ์ธ์์ ํ ์ด๋ธ์ ๋ง๋ญ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ธฐ์กด BigQuery ํ ์ด๋ธ์ด ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐ์กด BigQuery ํ ์ด๋ธ์ ์คํค๋ง์๋ ๋ค์ ํ์ ์ด์ด ํฌํจ๋์ด์ผ ํฉ๋๋ค.
๊ฐ๊ฐ์ ์ BigQuery ํ์๋ Bigtable ํ ์ด๋ธ์ ํด๋น ํ์์ ๋ณ๊ฒฝ ๋ด์ญ์ด ๋ฐํํ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋ 1๊ฐ๊ฐ ํฌํจ๋ฉ๋๋ค.
BigQuery ์ถ๋ ฅ ํ ์ด๋ธ ์คํค๋ง
์ด ์ด๋ฆ | ์ ํ | Null ํ์ฉ | ์ค๋ช |
---|---|---|---|
row_key |
STRING ๋๋ BYTES |
์๋์ | ๋ณ๊ฒฝ๋ ํ์ row key์
๋๋ค. writeRowkeyAsBytes ํ์ดํ๋ผ์ธ ์ต์
์ด true ๋ก ์ค์ ๋ ๊ฒฝ์ฐ ์ด ์ ํ์ BYTES ์ฌ์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ STRING ์ ํ์ ์ฌ์ฉํ์ธ์. |
mod_type |
STRING |
์๋์ | ํ ๋ณํ์ ์ ํ์
๋๋ค. SET_CELL , DELETE_CELLS , DELETE_FAMILY ์ค ํ ๊ฐ์ง ๊ฐ์ ์ฌ์ฉํฉ๋๋ค. |
column_family |
STRING |
์๋์ | ํ ๋ณํ์ ์ํฅ์ ๋ฐ๋ column family์ ๋๋ค. |
column |
STRING |
์ | ํ ๋ณํ์ ์ํฅ์ ๋ฐ๋ column qualifier์
๋๋ค. DELETE_FAMILY ๋ณํ ์ ํ์ ๊ฒฝ์ฐ NULL ๋ก ์ค์ ํ์ธ์. |
commit_timestamp |
TIMESTAMP |
์๋์ | Bigtable์์ ๋ณํ์ ์ ์ฉํ๋ ์๊ฐ์ ๋๋ค. |
big_query_commit_timestamp |
TIMESTAMP |
์ | (์ ํ์ฌํญ) BigQuery๊ฐ ์ถ๋ ฅ ํ
์ด๋ธ์ ํ์ ์ฐ๋ ์๊ฐ์ ์ง์ ํฉ๋๋ค. ์ด ์ด๋ฆ์ด bigQueryChangelogTableFieldsToIgnore ํ์ดํ๋ผ์ธ ์ต์
๊ฐ์ ์๋ ๊ฒฝ์ฐ ํ๋๊ฐ ์ฑ์์ง์ง ์์ต๋๋ค. |
timestamp |
TIMESTAMP ๋๋ INT64 |
์ | ๋ณํ์ ์ํฅ์ ๋ฐ๋ ์
์ ํ์์คํฌํ ๊ฐ์
๋๋ค. writeNumericTimestamps ํ์ดํ๋ผ์ธ ์ต์
์ด true ๋ก ์ค์ ๋ ๊ฒฝ์ฐ ์ด ์ ํ์ INT64 ์ฌ์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ TIMESTAMP ์ ํ์ ์ฌ์ฉํ์ธ์.
DELETE_CELLS ๋ฐ DELETE_FAMILY ๋ณํ ์ ํ์ ๊ฒฝ์ฐ NULL ๋ก ์ค์ ํ์ธ์. |
timestamp_from |
TIMESTAMP ๋๋ INT64 |
์ | DELETE_CELLS ๋ณํ์ผ๋ก ์ญ์ ๋ ๋ชจ๋ ์
์ ํ์์คํฌํ ๊ฐ๊ฒฉ์ ์์(๊ฒฝ๊ณ ํฌํจ)์ ์ค๋ช
ํฉ๋๋ค. ๋ค๋ฅธ ๋ณํ ์ ํ์ ๊ฒฝ์ฐ NULL ๋ก ์ค์ ํ์ธ์. |
timestamp_to |
TIMESTAMP ๋๋ INT64 |
์ | DELETE_CELLS ๋ณํ์ผ๋ก ์ญ์ ๋ ๋ชจ๋ ์
์ ํ์์คํฌํ ๊ฐ๊ฒฉ์ ์ข
๋ฃ(๊ฒฝ๊ณ ์ ์ธ)๋ฅผ ์ค๋ช
ํฉ๋๋ค. ๋ค๋ฅธ ๋ณํ ์ ํ์ ๊ฒฝ์ฐ NULL ๋ก ์ค์ ํ์ธ์. |
is_gc |
BOOL |
์๋์ | (์ ํ์ฌํญ) ๊ฐ๋น์ง ์ปฌ๋ ์
์ ์ฑ
์ ์ํด ๋ณํ์ด ํธ๋ฆฌ๊ฑฐ๋๋ ๊ฒฝ์ฐ true ๋ก ์ค์ ํฉ๋๋ค.
๊ทธ ์ธ์ ๊ฒฝ์ฐ์๋ false ๋ก ์ค์ ํฉ๋๋ค. ์ด ์ด๋ฆ์ด bigQueryChangelogTableFieldsToIgnore ํ์ดํ๋ผ์ธ ์ต์
๊ฐ์ ์๋ ๊ฒฝ์ฐ ํ๋๊ฐ ์ฑ์์ง์ง ์์ต๋๋ค. |
source_instance |
STRING |
์๋์ | (์ ํ์ฌํญ) ๋ณํ์ด ๋ฐ์ํ Bigtable ์ธ์คํด์ค์ ์ด๋ฆ์ ์ค๋ช
ํฉ๋๋ค. ์ด ์ด๋ฆ์ด bigQueryChangelogTableFieldsToIgnore ํ์ดํ๋ผ์ธ ์ต์
๊ฐ์ ์๋ ๊ฒฝ์ฐ ํ๋๊ฐ ์ฑ์์ง์ง ์์ต๋๋ค. |
source_cluster |
STRING |
์๋์ | (์ ํ์ฌํญ) ๋ณํ์ด ๋ฐ์ํ Bigtable ํด๋ฌ์คํฐ์ ์ด๋ฆ์ ์ค๋ช
ํฉ๋๋ค. ์ด ์ด๋ฆ์ด bigQueryChangelogTableFieldsToIgnore ํ์ดํ๋ผ์ธ ์ต์
๊ฐ์ ์๋ ๊ฒฝ์ฐ ํ๋๊ฐ ์ฑ์์ง์ง ์์ต๋๋ค. |
source_table |
STRING |
์๋์ | (์ ํ์ฌํญ) ๋ณํ์ด ์ ์ฉ๋๋ Bigtable ํ
์ด๋ธ์ ์ด๋ฆ์ ์ค๋ช
ํฉ๋๋ค. ์ด ์ด์ ๊ฐ์ ์ฌ๋ฌ Bigtable ํ
์ด๋ธ์ด ๋์ผํ BigQuery ํ
์ด๋ธ์ ๋ณ๊ฒฝ์ฌํญ์ ์คํธ๋ฆฌ๋ฐํ๋ ๊ฒฝ์ฐ์ ์ ์ฉํ ์ ์์ต๋๋ค. ์ด ์ด๋ฆ์ด bigQueryChangelogTableFieldsToIgnore ํ์ดํ๋ผ์ธ ์ต์
๊ฐ์ ์๋ ๊ฒฝ์ฐ ํ๋๊ฐ ์ฑ์์ง์ง ์์ต๋๋ค. |
tiebreaker |
INT64 |
์๋์ | (์ ํ์ฌํญ) ๋ ๊ฐ์ ๋ณํ์ด ๋ค๋ฅธ Bigtable ํด๋ฌ์คํฐ์์ ๋์์ ๋ฑ๋ก๋๋ฉด tiebreaker ๊ฐ์ด ๊ฐ์ฅ ๋์ ๋ณํ์ด ์์ค ํ
์ด๋ธ์ ์ ์ฉ๋ฉ๋๋ค. tiebreaker ๊ฐ์ด ๋ฎ์ ๋ณํ์ ์ญ์ ๋ฉ๋๋ค. ์ด ์ด๋ฆ์ด bigQueryChangelogTableFieldsToIgnore ํ์ดํ๋ผ์ธ ์ต์
๊ฐ์ ์๋ ๊ฒฝ์ฐ ํ๋๊ฐ ์ฑ์์ง์ง ์์ต๋๋ค. |
value |
STRING ๋๋ BYTES |
์ | ๋ณํ์ผ๋ก ์ธํด ์ค์ ๋ ์ ๊ฐ์
๋๋ค. writeValuesAsBytes ํ์ดํ๋ผ์ธ ์ต์
์ด true ๋ก ์ค์ ๋ ๊ฒฝ์ฐ ์ด ์ ํ์ BYTES ์ฌ์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ STRING ์ ํ์ ์ฌ์ฉํ์ธ์. ์ด ๊ฐ์ SET_CELL ๋ณํ์ ์ค์ ๋ฉ๋๋ค. ๋ค๋ฅธ ๋ณํ ์ ํ์ ๊ฒฝ์ฐ ๊ฐ์ด NULL ๋ก ์ค์ ๋ฉ๋๋ค. |
ํ์ดํ๋ผ์ธ ์๊ตฌ์ฌํญ
- ์ง์ ๋ Bigtable ์์ค ์ธ์คํด์ค์ ๋๋ค.
- ์ง์ ๋ Bigtable ์์ค ํ ์ด๋ธ์ ๋๋ค. ํ ์ด๋ธ์ ๋ณ๊ฒฝ ๋ด์ญ์ด ์ฌ์ฉ ์ค์ ๋์ด ์์ด์ผ ํฉ๋๋ค.
- ์ง์ ๋ Bigtable ์ ํ๋ฆฌ์ผ์ด์ ํ๋กํ์ ๋๋ค.
- ์ง์ ๋ BigQuery ๋์ ๋ฐ์ดํฐ ์ธํธ์ ๋๋ค.
ํ ํ๋ฆฟ ๋งค๊ฐ๋ณ์
ํ์ ๋งค๊ฐ๋ณ์
- bigQueryDataset : ๋ชฉ์ ์ง BigQuery ํ ์ด๋ธ์ ๋ฐ์ดํฐ ์ธํธ ์ด๋ฆ์ ๋๋ค.
- bigtableChangeStreamAppProfile: Bigtable ์ ํ๋ฆฌ์ผ์ด์ ํ๋กํ ID์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ํ๋กํ์์ ๋จ์ผ ํด๋ฌ์คํฐ ๋ผ์ฐํ ์ ์ฌ์ฉํ๊ณ ๋จ์ผ ํ ํธ๋์ญ์ ์ ํ์ฉํด์ผ ํฉ๋๋ค.
- bigtableReadInstanceId: ์์ค Bigtable ์ธ์คํด์ค ID์ ๋๋ค.
- bigtableReadTableId: ์์ค Bigtable ํ ์ด๋ธ ID์ ๋๋ค.
์ ํ์ ๋งค๊ฐ๋ณ์
- writeRowkeyAsBytes: ํ ํค๋ฅผ BigQuery
BYTES
๋ก ์ธ์ง ์ฌ๋ถ์ ๋๋ค.true
๋ก ์ค์ ํ๋ฉดBYTES
์ด์ row key๊ฐ ๊ธฐ๋ก๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด rowkey๊ฐSTRING
์ด์ ๊ธฐ๋ก๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์false
์ ๋๋ค. - writeValuesAsBytes:
true
๋ก ์ค์ ํ๋ฉด ๊ฐ์ด BYTES ์ ํ์ ์ด์ ์ฐ์ด๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด STRING ์ ํ์ ์ด์ ์๋๋ค . ๊ธฐ๋ณธ๊ฐ์false
์ ๋๋ค. - writeNumericTimestamps: Bigtable ํ์์คํฌํ๋ฅผ BigQuery INT64๋ก ์์ฑํ ์ง ์ฌ๋ถ์
๋๋ค.
true
๋ก ์ค์ ํ๋ฉด ๊ฐ์ด INT64 ์ด์ ๊ธฐ๋ก๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฐ์ดTIMESTAMP
์ด์ ๊ธฐ๋ก๋ฉ๋๋ค. ์ํฅ์ ๋ฐ๋ ์ด์timestamp
,timestamp_from
,timestamp_to
์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์false
์ ๋๋ค.true
๋ก ์ค์ ํ๋ฉด ์ ๋์ค ์๊ฐ(1970๋ 1์ 1์ผ UTC ๊ธฐ์ค) ์ดํ์ ์๊ฐ์ด ๋ง์ดํฌ๋ก์ด ๋จ์๋ก ์ธก์ ๋ฉ๋๋ค. - bigQueryProjectId: BigQuery ๋ฐ์ดํฐ ์ธํธ ํ๋ก์ ํธ ID์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ Dataflow ์์ ์ ํ๋ก์ ํธ์ ๋๋ค.
- bigQueryChangelogTableName: ๋์ BigQuery ํ
์ด๋ธ ์ด๋ฆ์
๋๋ค. ์ง์ ํ์ง ์์ผ๋ฉด ๊ฐ
bigtableReadTableId + "_changelog"
์ด ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๋น ๊ฐ์ ๋๋ค. - bigQueryChangelogTablePartitionGranularity: ๋ณ๊ฒฝ ๋ก๊ทธ ํ
์ด๋ธ ํํฐ์
์ ์ธ๋ถ์ฌํญ์ ์ง์ ํฉ๋๋ค. ์ด ์ต์
์ ์ค์ ํ๋ฉด ํ
์ด๋ธ์ด ํํฐ์
๋ฉ๋๋ค. ์ง์๋๋ ๊ฐ
HOUR
,DAY
,MONTH
,YEAR
์ค ํ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ํ ์ด๋ธ์ ํํฐ์ ์ ๋๋์ง ์์ต๋๋ค. - bigQueryChangelogTablePartitionExpirationMs: ๋ณ๊ฒฝ ๋ก๊ทธ ํ
์ด๋ธ ํํฐ์
๋ง๋ฃ ์๊ฐ์ ๋ฐ๋ฆฌ์ด ๋จ์๋ก ์ค์ ํฉ๋๋ค.
true
๋ก ์ค์ ํ๋ฉด ์ง์ ๋ ๋ฐ๋ฆฌ์ด๋ณด๋ค ์ค๋๋ ํํฐ์ ์ด ์ญ์ ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง๋ฃ์ผ์ด ์ค์ ๋์ง ์์ต๋๋ค. - bigQueryChangelogTableFieldsToIgnore: ์ง์ ๋ ๊ฒฝ์ฐ ์์ฑ ๋ฐ ์ฑ์์ง์ง ์๋ ๋ณ๊ฒฝ ๋ก๊ทธ ์ด์ ์ผํ๋ก ๊ตฌ๋ถ๋ ๋ชฉ๋ก์
๋๋ค. ์ง์๋๋ ๊ฐ
is_gc
,source_instance
,source_cluster
,source_table
,tiebreaker
,big_query_commit_timestamp
์ค ํ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์ด์ด ์ฑ์์ง๋๋ค. - dlqDirectory: ๋ฐ๋ ๋ ํฐ ํ์ ์ฌ์ฉํ ๋๋ ํฐ๋ฆฌ์ ๋๋ค. ์ฒ๋ฆฌํ์ง ๋ชปํ ๋ ์ฝ๋๊ฐ ์ด ๋๋ ํฐ๋ฆฌ์ ์ ์ฅ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ Dataflow ์์ ์ ์์ ์์น ์๋์ ์๋ ๋๋ ํฐ๋ฆฌ์ ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- bigtableChangeStreamMetadataInstanceId: Bigtable ๋ณ๊ฒฝ ๋ด์ญ ๋ฉํ๋ฐ์ดํฐ ์ธ์คํด์ค ID์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๋น ๊ฐ์ ๋๋ค.
- bigtableChangeStreamMetadataTableTableId : Bigtable ๋ณ๊ฒฝ ๋ด์ญ ์ปค๋ฅํฐ ๋ฉํ๋ฐ์ดํฐ ํ ์ด๋ธ์ ID์ ๋๋ค. ์ ๊ณตํ์ง ์์ผ๋ฉด ํ์ดํ๋ผ์ธ ์คํ ์ค์ Bigtable ๋ณ๊ฒฝ ๋ด์ญ ์ปค๋ฅํฐ ๋ฉํ๋ฐ์ดํฐ ํ ์ด๋ธ์ด ์๋์ผ๋ก ์์ฑ๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๋น ๊ฐ์ ๋๋ค.
- bigtableChangeStreamCharset: Bigtable ๋ณ๊ฒฝ ๋ด์ญ ๋ฌธ์ ์งํฉ ์ด๋ฆ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ UTF-8์ ๋๋ค.
- bigtableChangeStreamStartTimestamp: ๋ณ๊ฒฝ ๋ด์ญ์ ์ฝ๋ ๋ฐ ์ฌ์ฉํ ์์ ํ์์คํฌํ(https://tools.ietf.org/html/rfc3339)์
๋๋ค(๊ฒฝ๊ณ ํฌํจ). ์๋ฅผ ๋ค๋ฉด
2022-05-05T07:59:59Z
์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ํ์ดํ๋ผ์ธ ์์ ์๊ฐ์ ํ์์คํฌํ์ ๋๋ค. - bigtableChangeStreamIgnoreColumnFamilies: ๋ฌด์ํ column family ์ด๋ฆ ๋ณ๊ฒฝ ๋ด์ญ์ ์ผํ๋ก ๊ตฌ๋ถํ ๋ชฉ๋ก์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๋น ๊ฐ์ ๋๋ค.
- bigtableChangeStreamIgnoreColumns: ๋ฌด์ํ ์ด ์ด๋ฆ ๋ณ๊ฒฝ ๋ด์ญ์ ์ผํ๋ก ๊ตฌ๋ถํ ๋ชฉ๋ก์ ๋๋ค. ์๋ฅผ ๋ค๋ฉด 'cf1:col1,cf2:col2'์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๋น ๊ฐ์ ๋๋ค.
- bigtableChangeStreamName: ํด๋ผ์ด์ธํธ ํ์ดํ๋ผ์ธ์ ๊ณ ์ ํ ์ด๋ฆ์ ๋๋ค. ์ด์ ์ ์คํ ์ค์ด๋ ํ์ดํ๋ผ์ธ์ด ์ค์ง๋ ์ง์ ์์ ์ฒ๋ฆฌ๋ฅผ ๊ณ์ํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์๋์ผ๋ก ์์ฑ๋ ์ด๋ฆ์ ๋๋ค. ์ฌ์ฉ๋ ๊ฐ์ Dataflow ์์ ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
- bigtableChangeStreamResume:
true
๋ก ์ค์ ํ๋ฉดbigtableChangeStreamName
๊ฐ์ด ๋์ผํ๊ณ , ์ด์ ์ ์คํ ์ค์ด๋ ํ์ดํ๋ผ์ธ์ด ์ค์ง๋ ์ง์ ๋ถํฐ ์ ํ์ดํ๋ผ์ธ์ด ์ฒ๋ฆฌ๋ฅผ ๊ณ์ํฉ๋๋ค. ์ง์ ๋bigtableChangeStreamName
๊ฐ์ ํ์ดํ๋ผ์ธ์ด ์คํ๋ ์ ์ด ์๋ ๊ฒฝ์ฐ ์ ํ์ดํ๋ผ์ธ์ด ์์๋์ง ์์ต๋๋ค.false
๋ก ์ค์ ํ๋ฉด ์ ํ์ดํ๋ผ์ธ์ด ์์๋ฉ๋๋ค.bigtableChangeStreamName
๊ฐ์ด ๋์ผํ ํ์ดํ๋ผ์ธ์ด ์ง์ ๋ ์์ค์ ๋ํด ์ด๋ฏธ ์คํ๋ ๊ฒฝ์ฐ ์ ํ์ดํ๋ผ์ธ์ด ์์๋์ง ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์false
์ ๋๋ค. - bigtableReadChangeStreamTimeoutMs: Bigtable ReadChangeStream ์์ฒญ ์ ํ ์๊ฐ(๋ฐ๋ฆฌ์ด)์ ๋๋ค.
- bigtableReadProjectId: Bigtable ํ๋ก์ ํธ ID์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ Dataflow ์์ ์ ํ๋ก์ ํธ์ ๋๋ค.
ํ ํ๋ฆฟ ์คํ
์ฝ์
- Dataflow ํ ํ๋ฆฟ์์ ์์ ๋ง๋ค๊ธฐ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค. ํ ํ๋ฆฟ์์ ์์ ๋ง๋ค๊ธฐ๋ก ์ด๋
- ์์ ์ด๋ฆ ํ๋์ ๊ณ ์ ํ ์์ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
- (์ ํ์ฌํญ) ๋ฆฌ์ ์๋ํฌ์ธํธ์ ๋๋กญ๋ค์ด ๋ฉ๋ด์์ ๊ฐ์ ์ ํํฉ๋๋ค. ๊ธฐ๋ณธ ๋ฆฌ์ ์
us-central1
์ ๋๋ค.Dataflow ์์ ์ ์คํํ ์ ์๋ ๋ฆฌ์ ๋ชฉ๋ก์ Dataflow ์์น๋ฅผ ์ฐธ์กฐํ์ธ์.
- Dataflow ํ ํ๋ฆฟ ๋๋กญ๋ค์ด ๋ฉ๋ด์์ the Bigtable change streams to BigQuery template์ ์ ํํฉ๋๋ค.
- ์ ๊ณต๋ ๋งค๊ฐ๋ณ์ ํ๋์ ๋งค๊ฐ๋ณ์ ๊ฐ์ ์ ๋ ฅํฉ๋๋ค.
- ์์ ์คํ์ ํด๋ฆญํฉ๋๋ค.
gcloud
์ ธ ๋๋ ํฐ๋ฏธ๋์์ ํ ํ๋ฆฟ์ ์คํํฉ๋๋ค.
gcloud dataflow flex-template run JOB_NAME \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/Bigtable_Change_Streams_to_BigQuery \ --parameters \ bigtableReadInstanceId=BIGTABLE_INSTANCE_ID,\ bigtableReadTableId=BIGTABLE_TABLE_ID,\ bigtableChangeStreamAppProfile=BIGTABLE_APPLICATION_PROFILE_ID,\ bigQueryDataset=BIGQUERY_DESTINATION_DATASET
๋ค์์ ๋ฐ๊ฟ๋๋ค.
PROJECT_ID
: Dataflow ์์ ์ ์คํํ๋ ค๋ Google Cloud ํ๋ก์ ํธ IDJOB_NAME
: ์ ํํ ๊ณ ์ ํ ์์ ์ด๋ฆVERSION
: ์ฌ์ฉํ ํ ํ๋ฆฟ ๋ฒ์ ๋ค์ ๊ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
latest
: ๋ฒํท์ ๋ ์ง๊ฐ ์ง์ ๋์ง ์์ ์์ ํด๋(gs://dataflow-templates-REGION_NAME/latest/)์์ ์ฌ์ฉํ ์ ์๋ ์ต์ ๋ฒ์ ์ ํ ํ๋ฆฟ์ ์ฌ์ฉํฉ๋๋ค.- ๋ฒ์ ์ด๋ฆ(์:
2023-09-12-00_RC00
): ๋ฒํท์ ๋ ์ง๊ฐ ์ง์ ๋ ํด๋น ์์ ํด๋(gs://dataflow-templates-REGION_NAME/)์ ์ค์ฒฉ๋์ด ์๋ ํน์ ๋ฒ์ ์ ํ ํ๋ฆฟ์ ์ฌ์ฉํฉ๋๋ค.
REGION_NAME
: Dataflow ์์ ์ ๋ฐฐํฌํ ๋ฆฌ์ (์:us-central1
)BIGTABLE_INSTANCE_ID
: Bigtable ์ธ์คํด์ค IDBIGTABLE_TABLE_ID
: Bigtable ํ ์ด๋ธ IDBIGTABLE_APPLICATION_PROFILE_ID
: Bigtable ์ ํ๋ฆฌ์ผ์ด์ ํ๋กํ IDBIGQUERY_DESTINATION_DATASET
: BigQuery ๋์ ๋ฐ์ดํฐ ์ธํธ ์ด๋ฆ
API
REST API๋ฅผ ์ฌ์ฉํ์ฌ ํ
ํ๋ฆฟ์ ์คํํ๋ ค๋ฉด HTTP POST ์์ฒญ์ ์ ์กํฉ๋๋ค. API ๋ฐ ์น์ธ ๋ฒ์์ ๋ํ ์์ธํ ๋ด์ฉ์ projects.templates.launch
๋ฅผ ์ฐธ์กฐํ์ธ์.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME", "containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME/VERSION/flex/Bigtable_Change_Streams_to_BigQuery", "parameters": { "bigtableReadInstanceId": "BIGTABLE_INSTANCE_ID", "bigtableReadTableId": "BIGTABLE_TABLE_ID", "bigtableChangeStreamAppProfile": "BIGTABLE_APPLICATION_PROFILE_ID", "bigQueryDataset": "BIGQUERY_DESTINATION_DATASET" } } }
๋ค์์ ๋ฐ๊ฟ๋๋ค.
PROJECT_ID
: Dataflow ์์ ์ ์คํํ๋ ค๋ Google Cloud ํ๋ก์ ํธ IDJOB_NAME
: ์ ํํ ๊ณ ์ ํ ์์ ์ด๋ฆVERSION
: ์ฌ์ฉํ ํ ํ๋ฆฟ ๋ฒ์ ๋ค์ ๊ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
latest
: ๋ฒํท์ ๋ ์ง๊ฐ ์ง์ ๋์ง ์์ ์์ ํด๋(gs://dataflow-templates-REGION_NAME/latest/)์์ ์ฌ์ฉํ ์ ์๋ ์ต์ ๋ฒ์ ์ ํ ํ๋ฆฟ์ ์ฌ์ฉํฉ๋๋ค.- ๋ฒ์ ์ด๋ฆ(์:
2023-09-12-00_RC00
): ๋ฒํท์ ๋ ์ง๊ฐ ์ง์ ๋ ํด๋น ์์ ํด๋(gs://dataflow-templates-REGION_NAME/)์ ์ค์ฒฉ๋์ด ์๋ ํน์ ๋ฒ์ ์ ํ ํ๋ฆฟ์ ์ฌ์ฉํฉ๋๋ค.
LOCATION
: Dataflow ์์ ์ ๋ฐฐํฌํ ๋ฆฌ์ (์:us-central1
)BIGTABLE_INSTANCE_ID
: Bigtable ์ธ์คํด์ค IDBIGTABLE_TABLE_ID
: Bigtable ํ ์ด๋ธ IDBIGTABLE_APPLICATION_PROFILE_ID
: Bigtable ์ ํ๋ฆฌ์ผ์ด์ ํ๋กํ IDBIGQUERY_DESTINATION_DATASET
: BigQuery ๋์ ๋ฐ์ดํฐ ์ธํธ ์ด๋ฆ
๋ค์ ๋จ๊ณ
- Dataflow ํ ํ๋ฆฟ ์์๋ณด๊ธฐ
- Google ์ ๊ณต ํ ํ๋ฆฟ ๋ชฉ๋ก ์ฐธ์กฐ