本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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