DBT 访问分区 S3

问题描述

我是 DBT 的新手,并试图通过外部表和 Spectrum 访问我在 S3 中的文件,数据在 S3 中按这种格式按日期分区:

年=2021/月=06/天=16

如果我根本不使用任何分区,则查询的结果是获取所有分区,而我只需要最新版本的数据。

试图弄清楚如何做到这一点。我在 https://github.com/fishtown-analytics/dbt-external-tables 中找到了一些示例,但目前还没有工作

这是我最近的尝试,没有错误,但是通过频谱查询外部表时也没有数据,有什么想法吗?

version: 2

sources:

  - name: meetime
    schema: ext_schema_datalake
    database: dev
    tables:
      - name: meetime_cadences
        external:
          location: 's3://s3-movidesk-datalake-dev-raw/meetime/cadences'
          row_format: >
            serde 'org.openx.data.jsonserde.JsonSerDe'
            with serdeproperties (
                'strip.outer.array'='true'
            )
          auto_refresh: false

          partitions:
            - name: cadence_year
                data_type: varchar(4)
                vals:  
                - '{{modules.datetime.date.today().year}}'       # macro w/ keyword args to generate list of values
                path_macro: dbt_external_tables.key_value
            - name: cadence_month
                data_type: varchar(2)
                vals:  
                - '{{modules.datetime.date.today().month}}'       # macro w/ keyword args to generate list of values
                path_macro: dbt_external_tables.key_value
            - name: cadence_day
                data_type: varchar(2)
                vals:  
                - '{{modules.datetime.date.today().day}}'       # macro w/ keyword args to generate list of values
                path_macro: dbt_external_tables.key_value 
            
        columns:
          - name: cadence_focus
            data_type: varchar(30)
            description: Tipo da cadência
          - name: created_at
            data_type: varchar(25)
            description: Data de criação da cadência
          - name: created_by_id

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)