COPY 從 Amazon DynamoDB - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

COPY 從 Amazon DynamoDB

若要從現有的 DynamoDB 資料表載入資料,請使用 FROM子句來指定 DynamoDB 資料表名稱。

重要

如果 DynamoDB 資料表與 Amazon Redshift 叢集不位於相同的區域,您必須使用 REGION 參數來指定資料所在的區域。

語法

FROM 'dynamodb://table-name' authorization READRATIO ratio | REGION [AS] 'aws_region' | optional-parameters

範例

下列範例從 DynamoDB 資料表載入資料。

copy favoritemovies from 'dynamodb://ProductCatalog' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' readratio 50;

參數

FROM

載入的資料來源。

'dynamodb://table-name'

包含資料之 DynamoDB 資料表的名稱,例如 'dynamodb://ProductCatalog'。如需 DynamoDB 屬性如何映射至 Amazon Redshift 欄的詳細資訊,請參閱從 Amazon DynamoDB 資料表載入資料

DynamoDB 資料表名稱對 AWS 帳戶是唯一的,由 AWS 存取憑證識別。

authorization

此COPY命令需要授權才能存取其他 AWS 資源中的資料,包括 Amazon S3、Amazon EMR、DynamoDB 和 Amazon EC2。您可以參考連接至叢集的 AWS Identity and Access Management (IAM) 角色 (以角色為基礎的存取控制),或提供使用者的存取憑證 (以金鑰為基礎的存取控制),以提供該授權。為了提高安全性和靈活性,我們建議您使用IAM角色型存取控制。如需詳細資訊,請參閱授權參數

READRATIO 【AS】 比率

DynamoDB 資料表的佈建輸送量中用於資料載入的百分比。READRATIO 從 COPY DynamoDB 需要 的 。無法搭配COPY來自 Amazon S3 的 使用。強烈建議將此比率設定為小於平均未用佈建輸送量的值。有效值為整數 1–200。

重要

READRATIO 將 設為 100 或更高,可讓 Amazon Redshift 消耗 DynamoDB 資料表佈建的輸送量,這在COPY工作階段期間會嚴重降低相同資料表並行讀取操作的效能。寫入流量不受影響。在 Amazon Redshift 無法滿足資料表的佈建輸送量的罕見情況下,允許使用高於 100 的值來排解此問題。如果您持續將資料從 DynamoDB 載入至 Amazon Redshift,請考慮將您的 DynamoDB 資料表組織為時間序列,以將即時流量與COPY操作分開。

選用的參數

您可以選擇COPY從 Amazon DynamoDB 使用 指定下列參數:

不支援的參數

您無法COPY從 DynamoDB 將下列參數與 搭配使用:

  • 所有資料格式參數

  • ESCAPE

  • FILLRECORD

  • IGNOREBLANKLINES

  • IGNOREHEADER

  • NULL

  • REMOVEQUOTES

  • ACCEPTINVCHARS

  • MANIFEST

  • ENCRYPTED