データのロード操作 - Amazon Redshift

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

データのロード操作

次のパラメータを指定して、トラブルシューティングの際のロード操作のデフォルトの動作を管理したり、ロード時間を短縮します。

Parameters

COMPROWS numrows

圧縮分析のサンプルサイズとして使用される行数を指定します。分析は各データスライスの行に対して実行されます。たとえば、COMPROWS 1000000 (1,000,000) を指定し、システムに合計 4 つのスライスが含まれている場合、スライスごとに 250,000 行のみが読み取られ、分析されます。

COMPROWS を指定しない場合、サンプルサイズはデフォルトでスライスごとに 100,000 になります。COMPROWS の値がスライスごとに 100,000 行のデフォルト値より小さい場合、自動的にデフォルト値にアップグレードされます。ただし、ロードされるデータの量が有意のサンプルとしては不十分な場合、自動圧縮は実行されません。

COMPROWS 数が入力ファイルの行数より大きい場合でも、COPY コマンドは続行し、利用可能なすべての行で圧縮分析を実行します。この引数の許容範囲は 1000~2147483647 (2,147,483,647) の数値です。

COMPUPDATE [ PRESET | { ON | TRUE } | { OFF | FALSE } ]

COPY 実行中に圧縮エンコードを自動的に適用するかどうかを制御します。

COMPUPDATE が PRESET の場合、COPY コマンドを実行すると、ターゲットテーブルが空の場合、列に RAW 以外のエンコードが既に指定されていても、各列に圧縮エンコードが選択されます。現在指定されている列のエンコードは置き換えることができます。各列のエンコードは、列のデータタイプに基づきます。サンプリングされているデータはありません。Amazon Redshift automatically assigns compression encoding as follows:

  • ソートキーとして定義されている列には、RAW 圧縮が割り当てられます。

  • BOOLEAN、REAL、または DOUBLE PRECISION データ型として定義されている列には、RAW 圧縮が割り当てられます。

  • SMALLINT、INTEGER、BIGINT、DECIMAL、DATE、TIMESTAMP、または TIMESTAMPTZ として定義された列には AZ64 圧縮が割り当てられます。

  • CHAR または VARCHAR として定義された列には、LZO 圧縮が割り当てられます。

COMPUPDATE を削除して COPY コマンドを実行すると、ターゲットテーブルが空で、どの列にもエンコード (RAW は除く) を指定していない場合にのみ、各列に圧縮エンコードが選択されます。The encoding for each column is determined by Amazon Redshift. サンプリングされているデータはありません。

COMPUPDATE が ON (または TRUE) の場合、または COMPUPDATE がオプションなしで指定されている場合は、テーブルの列に RAW 以外のエンコードがすでに指定されていても、テーブルが空であれば COPY によって自動圧縮が適用されます。現在指定されている列のエンコードは置き換えることができます。列ごとのエンコードは、サンプルデータの分析によって異なります。詳細については、「自動圧縮ありでテーブルをロードする」を参照してください。

COMPUPDATE OFF (または FALSE) の場合、自動圧縮は無効になります。列のエンコードを変更することはできません。

圧縮を分析するシステムテーブルの詳細については、「STL_ANALYZE_COMPRESSION」を参照してください。

MAXERROR [AS] error_count

ロードのエラー数が error_count 以上である場合、ロードは失敗します。ロードのエラーがそれより少ない場合、処理は続行され、ロードできなかった行数を示す INFO メッセージが返されます。データの形式エラーやその他の不整合のために一部の行をテーブルにロードできないときにロードを継続するには、このパラメータを使用します。

最初のエラーが発生したときにロードを失敗させる場合、この値を 0 または 1 に設定します。AS キーワードはオプションです。MAXERROR のデフォルト値は 0、そしてその限度は 100000 です。

The actual number of errors reported might be greater than the specified MAXERROR because of the parallel nature of Amazon Redshift. If any node in the Amazon Redshift cluster detects that MAXERROR has been exceeded, each node reports all of the errors it has encountered.

NOLOAD

データを実際にロードせずにデータファイルの有効性をチェックします。実際にデータロードを実行せずに、エラーなしでデータファイルがロードされることを確認するには、NOLOAD パラメータを使用します。NOLOAD パラメータと共に COPY を実行すると、ファイルを解析するだけであるため、データのロードよりはるかに高速になります。

STATUPDATE [ { ON | TRUE } | { OFF | FALSE } ]

COPY コマンドが成功したとき最後に行う自動計算とオプティマイザ統計の更新を制御します。デフォルトでは、STATUPDATE パラメータを使用しない場合、テーブルが最初は空ならば、統計は自動的に更新されます。

データを空ではないテーブルに入れるとテーブルのサイズが大きく変化する場合は、常に ANALYZE コマンドを実行するか STATUPDATE ON 引数を使用して統計を更新することをお勧めします。

STATUPDATE ON (または TRUE) の場合、テーブルが最初に空であるかどうかに関係なく、統計は自動的に更新されます。STATUPDATE を使用する場合、現在のユーザーはテーブル所有者またはスーパーユーザーであることが必要です。STATUPDATE を指定しない場合、INSERT 権限のみ必要です。

STATUPDATE OFF (または FALSE) を使用すると、統計は更新されません。

詳細については、「テーブルを分析する」を参照してください。