問題タブ [amazon-redshift]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1554 参照

apache - amazon redshift での apache ログのロード

COPY コマンド ( http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html )を使用して、Apache スタイルのログを Amazon Redshift クラスターにロードしようとしていますが、いくつかの問題があります。日付の解析。私の日付は次のようになります。

[10/Oct/2000:13:55:36 -0700]

Redshift [時刻形式ドキュメントhttp://docs.aws.amazon.com/redshift/latest/dg/r_DATEFORMAT_and_TIMEFORMAT_strings.html には、「日付と時刻のセクションの間にスペース文字を指定する必要があります」と書かれています。実際にはそれらの間にコロンがあるので、それを時間形式で使用するとどうなるかを確認しました。結果は名目上の成功ですが、分と秒はゼロに設定されています。

(タイムゾーンは別問題ですが、現状対応するつもりはないようですので別途対応します)

だから、私の質問:

  1. COPY を使用してこれを解析する方法はありますか?

  2. それ以外の場合は、EC2 でログ ファイルを前処理するか、日付を文字列として読み込んで、redshift の適切なタイムスタンプ列に解析する必要があると思います。どちらが好ましいかについて何かアドバイスはありますか?

0 投票する
8 に答える
30013 参照

amazon-redshift - amazon redshift での SQL Server の isNumeric() 相当

  • データ ウェアハウスとして amazon redshift を使用しています
  • 文字列型のフィールド (field1) があります。4 つの数字で始まる文字列もあれば、文字で始まる文字列もあります。

「テスト アルファ」
「1382 テスト ベータ」

  • 文字列が 4 つの数字で始まらない行を除外したい
  • redshift のドキュメントを見ると、 isnumber または isnumeric が関数であるとは思えません。「いいね」機能が一番可能性が高いようです。
  • 私は試した

    where left(field1, 4) like '[0-9][0-9][0-9][0-9]'

これは機能しませんでした。以下のリンクから、redshift がそれをサポートしていないようです:

https://forums.aws.amazon.com/message.jspa?messageID=439850

「where」句に誤りがありますか? そうでなく、その句がredshiftでサポートされていない場合、フィルタリングする方法はありますか? キャストを使おうと思っていた

エラーが発生した場合は行を渡しますが、Amazon redshift でこれを行う方法がわかりません。または、isnumeric フィルター用の他のプロキシがあります。

ありがとう

0 投票する
1 に答える
312 参照

postgresql - postgresql データベースから値を選択し、完全なクエリが必要であることに基づいて挿入/更新します

これをクエリ レベルで設計する必要があります。これは、テーブル内のバージョン、削除、フラグ列に対して実行できます。

src_emp----> ソーステーブル

ターゲット テーブルへの最初のロード trg_emp 出力は以下のようになります

これを行った後、empno=3 の給与を sal=4000 に変更します。次に、ターゲット テーブルを更新すると、次のようになります。

上記では、empno=3 のバージョンが 2 に増加し、最後の行のフラグが "Y" に変更され、前の行が empno=3 の "N" に変更されていることがわかります。バージョンとフラグが機能すると、3 番目のレコードが削除されます。ソースで削除された場合、そのフラグは「Y」になる必要がありますソーステーブルでempno = 2を削除すると、最終的なターゲットテーブルは次の形式のようになるはずです

ターゲット テーブルの 2 行目のフラグは、削除されたフラグの値を "Y" として更新する必要があります。

0 投票する
2 に答える
8070 参照

postgresql - redshift postgresqlでは、コピー機能で列をスキップできますか

  • 列を持つ .csv テーブル (t1) があります: Amazon S3 ストレージに c1、c2、c3
  • それをAmazon redshiftにコピーしたい
  • すべての列がnull可能であるc1、c2、c3の列を持つテーブルを作成します
  • コマンドでコピーします:

    t1 から t1a (c1,c3) をコピー

  • t1 から c1 と c3 をコピーし、デフォルトの null 値を c2 に配置して、t1a の行が (c1_rowX, null, c3_rowX) のようになると予想しました。

  • 代わりに、t1 の c2 (文字列型) データを t1a の c3 (int 型) にコピーしているため、型エラーが発生します。

  • 列を指定しないと、コピー コマンドは正常に機能します。

    t1からt1aをコピー

  • redshift copy コマンド ドキュメントへのリンクを含めました。

http://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html

  • 主な質問は、列の指定の使用に問題があるということです。ありがとう
0 投票する
10 に答える
114533 参照

amazon-web-services - Amazon Redshift で列のデータ型を変更する

Amazon Redshift データベースで列のデータ型を変更するには?

Redshift で列のデータ型を変更できません。Amazon Redshift でデータ型を変更する方法はありますか?

0 投票する
3 に答える
14473 参照

amazon-redshift - 複数のソートキー列があるとはどういう意味ですか?

Redshift では、複数の列を列として指定できますSORTKEYが、ほとんどのベスト プラクティス ドキュメントは、SORTKEY が 1 つしかないかのように記述されています。

でテーブルを作成するとSORTKEY (COL1, COL2)、すべての列が COL1、次に COL2 でソートされて保存されるということですか? それとも、カラム型ストアであるため、各カラムが異なる順序で格納されるのでしょうか? つまり、COL1 の順序で COL1、COL2 の順序で COL2、および順序付けされていない他の列ですか?

私の状況は、(とりわけ)type_idとtimestamp列を持つテーブルがあるということです。データはほぼタイムスタンプ順に到着します。ほとんどのクエリは、type_id とタイムスタンプの両方に対して結合/制限されます。通常、type_id 句はより具体的です。つまり、timestamp 句を確認するよりも type_id 句を確認することで、より多くの行を除外できます。このため、type_id は DISTKEY です。SORTKEY (type_id)、、、SORTKEY (stamp)の長所と短所SORTKEY (type_id,stamp)を理解しようとしていSORTKEY (stamp,type_id)ます。

ありがとう。