我在我的云中,在 S3 存储桶中,有一个包含一些数据的 CSV 文件。
我想将该数据导出到包含“键”和“值”列的 DynamoDB 表中。
这是我编写的当前配置单元脚本:
CREATE EXTERNAL TABLE FromCSV(key string, value string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ', '
LOCATION 's3://mybucket/output/';
CREATE EXTERNAL TABLE hiveTransfer(col1 string, col2 string)
STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler'
TBLPROPERTIES ("dynamodb.table.name" = "InvertedIndex",
"dynamodb.column.mapping" = "col1:key,col2:value");
INSERT OVERWRITE TABLE hiveTransfer SELECT * FROM FromCSV;
现在,基本上脚本可以工作了。虽然我想对此脚本进行一些修改,如下所示:
1)该脚本仅在 DynamoDB 中已存在“InvertedIndex”表时才有效,我希望脚本自行创建新表,然后按原样放置数据。
2) 在 CSV 中,键始终是字符串,但我有 2 种值,字符串或整数。我希望脚本能够区分两者并制作两个不同的表格。
对这两个修改的任何帮助都将得到应用。谢谢