dbt-athena icon indicating copy to clipboard operation
dbt-athena copied to clipboard

[Bug] dbt source freshness expected a timestamp but received a string

Open guilhermenoronha opened this issue 1 year ago • 2 comments

Is this a new bug in dbt-athena?

  • [X] I believe this is a new bug in dbt-athena
  • [X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior

I'm trying to run a freshness check on some of my tables using a timestamp column. However, I'm getting an error saying the check found a str column instead of a timestamp one. I believe this is a bug, because athena shows my column as a timestamp according to the following image.

image

The error I'm getting is also in the following image:

image

My dbt_athena package in in version 1.7.2. The query generated by the freshness code is below as the results it produced

select
      max(loaded_at) as max_loaded_at,
      cast(now() as timestamp) as snapshotted_at
    from "awsdatacatalog"."bronze_dev"."callbacks"

image

Expected Behavior

The dbt source freshness command should be able to run successfully on my source tables. Otherwise, it should point some error related with the SLA configured, not throw an error related with casting types.

Steps To Reproduce

  1. Have a table on athena with a timestamp column (In my case the column was generated by a pyspark script executed on aws glue)
  2. Configure the dbt freshness on the same table: version: 2
sources:
  - name: "bronze_dev}"
    tables:
      - name: my_table
        freshness:
          error_after:
            count: 2
            period: day
        loaded_at_field: loaded_at

run the command dbt source freshness

Environment

- OS: Windows
- Python: ^3.11
- dbt: 1.7.9
- dbt-athena-community: 1.7.2

Additional Context

No response

guilhermenoronha avatar Apr 25 '24 18:04 guilhermenoronha