【发布时间】:2019-09-11 18:24:34
【问题描述】:
我尝试通过 aws sdk nodejs 添加 athena 分区。
const AWS = require('aws-sdk');
const athena = new AWS.Athena({apiVersion: '2017-05-18'});
let queryParams = {
QueryString: `ALTER TABLE table_name ADD PARTITION (year='2018',month='10',day='10') location 's3://bucket-name/2018/10/10/'`,
ResultConfiguration: {
OutputLocation: 's3://bucket-name/result-logs'
},
QueryExecutionContext: {
Database: 'database_name'
}
}
athena.startQueryExecution(queryParams, (err, data) => {
console.log('start query');
console.log('err : ' , err);
console.log('data : ' , data);
});
但是,我收到了以下错误日志。
{ InvalidRequestException: line 1:28: missing 'COLUMN' at 'PARTITION'
at Request.extractError (/project/node_modules/aws-sdk/lib/protocol/json.js:48:27)
at Request.callListeners (/project/node_modules/aws-sdk/lib/sequential_executor.js:109:20)
at Request.emit (/project/node_modules/aws-sdk/lib/sequential_executor.js:81:10)
at Request.emit (/project/node_modules/aws-sdk/lib/request.js:683:14)
at Request.transition (/project/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/project/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /project/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request.<anonymous> (/project/node_modules/aws-sdk/lib/request.js:38:9)
at Request.<anonymous> (/project/node_modules/aws-sdk/lib/request.js:685:12)
at Request.callListeners (/project/node_modules/aws-sdk/lib/sequential_executor.js:119:18)
message: 'line 1:28: missing \'COLUMN\' at \'PARTITION\'',
code: 'InvalidRequestException',
time: 2018-10-11T02:03:48.979Z,
requestId: 'xxxxxxx',
statusCode: 400,
retryable: false,
retryDelay: 81.3136245913281 }
我在aws docs 中找不到 COLUMN 和 PARTITION 参数
如何在 params json 中定义 COLUMN 和 PARTITION?
【问题讨论】:
-
你能把你的表的定义发过来吗?显示创建表
标签: amazon-web-services amazon-athena