2016-10-14 14 views
3

spark-redshiftで列を切り捨てる方法については、エラーを返すのではなく、列の内容が長すぎる場合には不思議です。列の内容が長すぎる場合、spark-redshiftで列をトランケートする方法はありますか?

+2

実行しているコマンドは何ですか? Redshiftから抽出したのですか、Redshiftにデータを挿入しましたか? Amazon Redshiftには、「COPY」を介してデータをロードする際に、[TRUNCATECOLUMNS](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html#copy-truncatecolumns) 'コマンド。 'spark-redshift'で使えるかどうか不明です。 –

+0

それに慣れていれば、スパーク・レッドシフト・ライブラリにそれを呼び出すフラグがあるのだろうかと疑問に思う。 – flybonzai

+0

明日の仕事に入るまで、解決策を確認する機会はない。それから私は受け入れて閉じます! – flybonzai

答えて

5

spark-redshiftコネクタは、フードの下のredshift-jdbcコネクタを使用します。このコネクタは、適切なCOPYおよびUNLOADコマンドをAWS Redshiftに自動的にトリガーするために使用されます。

しかし、あなたは、例えば、データをロードするときにAWS赤方偏移COPYコマンドに追加する余分なオプションのリストであるextracopyoptionsを指定することができますあなたの場合はTRUNCATECOLUMNSです。

これらのオプションはCOPYコマンドの最後に追加されているので、コマンドの最後に意味をなすだけのオプションを使用することができることを注意、それは最も可能性のユースケースをカバーする必要があります。

関連する問題