Redshift DEFAULT GETDATE()はINSERTで機能しますが、COPYでは機能しません

csab

Redshiftテーブルにデフォルトの制約のある列があり、現在のタイムスタンプが入力されます。

CREATE TABLE test_table(
    ...
    etl_date_time timestamp DEFAULT GETDATE(),
    ...
);

これはINSERTSで期待どおりに機能しますが、この列のキーがないS3からjsonファイルをコピーするとnull値が返されます

COPY test_table FROM 's3://bucket/test_file.json' 
CREDENTIALS '...' FORMAT AS JSON 'auto';

// There shouldn't be any NULLs here, but there are
select count(*) from test_table where etl_date_time is null;

また、ソースJSONにキーのnull値を入れようとしましたが、その結果、テーブルにもNULL値が含まれていました。

{
    ...
    "etl_date_time": null,
    ...
}
ナット

フィールドが常にの場合はNULL、S3のファイルからフィールドを完全に省略することを検討してください。COPYコピーする列を指定して、不足している列にDEFAULTを入力します。

したがって、ファイルの場合data.json

{"col1":"r1_val1", "col3":"r1_val2"}
{"col1":"r2_val1", "col3":"r2_val2"}

そしてテーブルの定義:

create table _test (
    col1 varchar(20)
  , col2 timestamp default getdate()
  , col3 varchar(20)
);

特定の列名

COPY明示的な列名を指定してコマンド

copy _test(col1,col3) from 's3://bucket/data.json' format as json 'auto'

次の結果が得られます。

db=# select * from _test;
  col1   |        col2         |  col3
---------+---------------------+---------
 r1_val1 | 2016-07-27 18:27:08 | r1_val2
 r2_val1 | 2016-07-27 18:27:08 | r2_val2
(2 rows)

省略された列名

列名を省略した場合、

copy _test from 's3://bucket/data.json' format as json 'auto'

使用することはありませんが、代わりにDEFAULT挿入しNULLます。

db=# select * from _test;
  col1   |        col2         |  col3
---------+---------------------+---------
 r1_val1 |                     | r1_val2
 r2_val1 |                     | r2_val2
(2 rows)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AWSドライバーを使用したRedshiftへのR接続は機能しませんが、Postgreドライバーでは機能します

分類Dev

DEFAULTはSETデータでは機能しません

分類Dev

DEFAULTはSETデータでは機能しません

分類Dev

LuigiはSpark&Redshiftでは期待どおりに機能しません

分類Dev

`default_scope order( 'created_at DESC')`は機能しますが、 `Model.order( 'created_at DESC')`はkaminariでは機能しません

分類Dev

DEFAULT制約がSQLOracleで機能していませんか?

分類Dev

Default-expand-allはq-treeでは機能しませんか?Vue.Js

分類Dev

System.Diagnostics.Process.StartはDefault.aspx.csでは機能しません

分類Dev

Symfony 4.3.5 FOS \ RestBundleはdefault_versionでのみ機能します

分類Dev

Netezza In-BuiltAGEはRedshiftのUDFとして機能します

分類Dev

パンダkeep_default_na = Falseは機能しません

分類Dev

RESTのみ-default-interceptor-refは機能しません

分類Dev

RESTのみ-default-interceptor-refは機能しません

分類Dev

Tsql:datediffがDEFAULT getdate()で機能しない

分類Dev

Chrome拡張機能(JavaScript)でdefault_scriptからcontent_scriptに通信しようとしていますが機能しません

分類Dev

git config default pushは、origin以外の名前のリモートでは機能しません

分類Dev

GRUB_DEFAULT = _が正しく機能していません

分類Dev

UPDATEテーブルSETcolumn = DEFAULTが機能していません

分類Dev

carrierwaveのdefault_urlメソッドが機能しません

分類Dev

Odoo-search_defaultが機能しませんか?

分類Dev

redshiftはローカルのAWSプロファイルのクレジットでは機能しませんか?

分類Dev

APTがまったく機能していません:「E:値 'jessie'はAPT :: Defaultでは無効です-そのようなリリースはソースで利用できないためリリースしてください」

分類Dev

falseに設定すると、always_use_default_target_pathが機能しません

分類Dev

パンダdf.to_sqlがredshiftで機能しない

分類Dev

Redshift /F.luxがUbuntu16.04で機能しない

分類Dev

Redshift-同時書き込み-クエリが動的に作成されている場合、挿入は機能しません

分類Dev

Redshift QueryBETWEENは何も返しません

分類Dev

getDate()はGoogleAppScriptでは機能しません

分類Dev

エラーC4430:型指定子がありません-intと見なされます。注:C ++はdefault-intをサポートしていません-以前のソリューションが機能していません

Related 関連記事

  1. 1

    AWSドライバーを使用したRedshiftへのR接続は機能しませんが、Postgreドライバーでは機能します

  2. 2

    DEFAULTはSETデータでは機能しません

  3. 3

    DEFAULTはSETデータでは機能しません

  4. 4

    LuigiはSpark&Redshiftでは期待どおりに機能しません

  5. 5

    `default_scope order( 'created_at DESC')`は機能しますが、 `Model.order( 'created_at DESC')`はkaminariでは機能しません

  6. 6

    DEFAULT制約がSQLOracleで機能していませんか?

  7. 7

    Default-expand-allはq-treeでは機能しませんか?Vue.Js

  8. 8

    System.Diagnostics.Process.StartはDefault.aspx.csでは機能しません

  9. 9

    Symfony 4.3.5 FOS \ RestBundleはdefault_versionでのみ機能します

  10. 10

    Netezza In-BuiltAGEはRedshiftのUDFとして機能します

  11. 11

    パンダkeep_default_na = Falseは機能しません

  12. 12

    RESTのみ-default-interceptor-refは機能しません

  13. 13

    RESTのみ-default-interceptor-refは機能しません

  14. 14

    Tsql:datediffがDEFAULT getdate()で機能しない

  15. 15

    Chrome拡張機能(JavaScript)でdefault_scriptからcontent_scriptに通信しようとしていますが機能しません

  16. 16

    git config default pushは、origin以外の名前のリモートでは機能しません

  17. 17

    GRUB_DEFAULT = _が正しく機能していません

  18. 18

    UPDATEテーブルSETcolumn = DEFAULTが機能していません

  19. 19

    carrierwaveのdefault_urlメソッドが機能しません

  20. 20

    Odoo-search_defaultが機能しませんか?

  21. 21

    redshiftはローカルのAWSプロファイルのクレジットでは機能しませんか?

  22. 22

    APTがまったく機能していません:「E:値 'jessie'はAPT :: Defaultでは無効です-そのようなリリースはソースで利用できないためリリースしてください」

  23. 23

    falseに設定すると、always_use_default_target_pathが機能しません

  24. 24

    パンダdf.to_sqlがredshiftで機能しない

  25. 25

    Redshift /F.luxがUbuntu16.04で機能しない

  26. 26

    Redshift-同時書き込み-クエリが動的に作成されている場合、挿入は機能しません

  27. 27

    Redshift QueryBETWEENは何も返しません

  28. 28

    getDate()はGoogleAppScriptでは機能しません

  29. 29

    エラーC4430:型指定子がありません-intと見なされます。注:C ++はdefault-intをサポートしていません-以前のソリューションが機能していません

ホットタグ

アーカイブ