我正在使用以下脚本将数据从DynamoDB导出到S3:
CREATE EXTERNAL TABLE TableDynamoDB(col1 String, col2 String)
STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler' TBLPROPERTIES (
"dynamodb.table.name" = "TableDynamoDB",
"dynamodb.column.mapping" = "col1:col1,col2:col2"
);
CREATE EXTERNAL TABLE TableS3(col1 String, col2 String)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION 's3://myBucket/DataFiles/MyData.txt';
INSERT OVERWRITE TABLE TableS3
SELECT * FROM TableDynamoDB;
在S3中,我想将输出写入给定的文件名(MyData.txt) 但它目前的工作方式是上面脚本创建的文件夹名称为' MyData.txt' 然后在此文件夹下生成一个带有随机名称的文件。
是否可以使用HIVE在S3中指定文件名?
谢谢!
答案 0 :(得分:2)
一些事情:
hadoop fs -getmerge
之类的内容来读取单个流中的所有文件。