dbt - stage_external_sources - 分区
dbt - stage_external_sources - partitioning
我正在尝试对在 Azure Blob 存储上交付的增量文件进行很好的分区。
但是,我无法让分区列和 table 列很好地发挥作用。
如果删除分区列,则会指定所有 table 列。
如果我有分区列,我只会得到变体列和分区列。
- name: arsm
external:
location: '@my_azure_stage'
file_format: 'myformat'
pattern: '.*path.*tablename_.*'
auto_refresh: false # depends on your Azure setup
partitions: # optional
- name: LOAD_DATE
data_type: date
expression: TO_DATE(substring(metadata$filename,16,10))
columns:
- name: "AoNr"
data_type: bigint
- name: "AoNrAlfa"
data_type: varchar(65)
- name: "AoPos"
data_type: int
- name: "ArtikelVariant"
data_type: varchar(30)
- name: "ArtKalkBer"
data_type: NUMERIC
我认为您只需要将 columns
数组缩进两个空格即可。 columns
数组应该是源 table 的顶级键,与 name
和 external
处于同一级别;现在你把它嵌套在 external
字典中。
我正在尝试对在 Azure Blob 存储上交付的增量文件进行很好的分区。
但是,我无法让分区列和 table 列很好地发挥作用。 如果删除分区列,则会指定所有 table 列。 如果我有分区列,我只会得到变体列和分区列。
- name: arsm
external:
location: '@my_azure_stage'
file_format: 'myformat'
pattern: '.*path.*tablename_.*'
auto_refresh: false # depends on your Azure setup
partitions: # optional
- name: LOAD_DATE
data_type: date
expression: TO_DATE(substring(metadata$filename,16,10))
columns:
- name: "AoNr"
data_type: bigint
- name: "AoNrAlfa"
data_type: varchar(65)
- name: "AoPos"
data_type: int
- name: "ArtikelVariant"
data_type: varchar(30)
- name: "ArtKalkBer"
data_type: NUMERIC
我认为您只需要将 columns
数组缩进两个空格即可。 columns
数组应该是源 table 的顶级键,与 name
和 external
处于同一级别;现在你把它嵌套在 external
字典中。