Closed Halama closed 7 years ago
Upravil jsem to tak ale je problém v tom že ten NULL_IF
se aplikuje i na sloupce které jsou NOT NULL
a potom to v případě že do not null sloupce jde prázdná hodnota zařve SQL error: NULL result in a non-nullable column
Zkouším to obejít pomocí transformace v COPY commandu ale zatím mi nějak nefunguje https://docs.snowflake.net/manuals/sql-reference/sql/copy-into-table.html hlásí SQL compilation error: COPY statement only supports simple SELECT from stage statements for import.
Přes stage to vypadá šlape:
CREATE OR REPLACE STAGE simple
FILE_FORMAT = (TYPE=CSV FIELD_DELIMITER = ',' FIELD_OPTIONALLY_ENCLOSED_BY = '\"' ESCAPE_UNENCLOSED_FIELD = NONE ESCAPE_UNENCLOSED_FIELD = '\\')
URL = 's3://kbc-sapi-files'
CREDENTIALS = (AWS_KEY_ID = '' AWS_SECRET_KEY = '' AWS_TOKEN = '')
;
COPY INTO "development"."simple"
FROM (SELECT t.$1, t.$2, t.$3, iff(t.$4 = '', null, t.$4) FROM @simple/exp-30/236/table-exports/in/c-test-wr-db-redshift/simple/231571663.csv.gz t)
PATTERN="^.*(?<!manifest)$"
Prázdné hodnoty u sloupců které jsou v konfiguraci writeru nastaveny jako null by se měly automaticky zkonvertovat na null. Stačí do COPY commandu přidat
NULL_IF('')
.https://keboola.productboard.com/inbox/notes/241001