本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 Amazon DynamoDB 進行 COPY
若要從現有的 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 資料表的佈建輸送量中用於資料載入的百分比。從 DynamoDB 的 COPY 需要 READRATIO。此項目不能用於從 Amazon S3 的 COPY。強烈建議將此比率設定為小於平均未用佈建輸送量的值。有效值為整數 1–200。
重要
將 READRATIO 設為 100 或更高會使 Amazon Redshift 完全耗盡 DynamoDB 資料表的佈建輸送量,導致 COPY 工作階段期間對相同資料表同時執行的讀取操作效能嚴重降低。寫入流量不受影響。在 Amazon Redshift 無法滿足資料表的佈建輸送量的罕見情況下,允許使用高於 100 的值來排解此問題。如果您持續從 DynamoDB 將資料載入 Amazon Redshift,請考慮以時間序列來組織 DynamoDB 資料表,以分隔來自 COPY 操作的即時流量。
選用的參數
從 Amazon DynamoDB COPY 時,您可以選擇性指定下列參數:
不支援的參數
從 DynamoDB COPY 時,您不能使用下列參數:
-
所有資料格式參數
-
ESCAPE
-
FILLRECORD
-
IGNOREBLANKLINES
-
IGNOREHEADER
-
NULL
-
REMOVEQUOTES
-
ACCEPTINVCHARS
-
MANIFEST
-
ENCRYPTED