Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Lambda执行多行ATHENA查询_Lambda - Fatal编程技术网

如何从Lambda执行多行ATHENA查询

如何从Lambda执行多行ATHENA查询,lambda,Lambda,我已经设置了Athena,我想安排一个lambda函数来触发Athena查询并将结果存储在S3中,但是,我在lambda中遇到语法错误 答复: { "errorMessage": "Syntax error in module 'lambda_function'" } 但在Athena查询编辑器中同样适用 以下是我的尝试: def lambda_handler(event, context): query_1 ="Select REGEXP_EXTRACT(data,'[a-z]*

我已经设置了Athena,我想安排一个lambda函数来触发Athena查询并将结果存储在S3中,但是,我在lambda中遇到语法错误

答复:

{
  "errorMessage": "Syntax error in module 'lambda_function'"
}
但在Athena查询编辑器中同样适用

以下是我的尝试:

def lambda_handler(event, context):
    query_1 ="Select REGEXP_EXTRACT(data,'[a-z]*[0-9]') as datacenter,
    .
    .
    FROM DATABASE.DATATABLE
    WHERE pool_id like 'POOL_ID%';"

    database = "DATABASE"
    s3_output = "s3://resultlocation/"

    client = boto3.client('athena')

    response = client.start_query_execution(QueryString = query_1,
                                        QueryExecutionContext={
                                            'Database': database
                                        },
                                        ResultConfiguration={
                                            'OutputLocation': s3_output
                                        }
                                        )
    return response

当我使用单行查询时,它工作得很好。

我修复了这个问题,在每行末尾添加了一个“\”。

雅典娜配置单元查询是“选择REGEXP_EXTRACT(数据,[a-z]*[0-9]')作为数据中心,REGEXP_EXTRACT(响应代码,[0-9]+')代码,REGEXP_EXTRACT(池id,[a-z]*[0-9]+')作为塔。”当响应代码为“%2%”时为“1”,当响应代码为“%3%”时为“1”,当响应代码为“%4%”时为“1”,当其他“0”时为数据库中的状态。DATATABLE中的池id为“池id%”时为“1”;“请使用此信息更新您的问题,而不是将其发布在评论中。谢谢。我尝试过,但不知怎的,它不允许我保存它,因此我采取了此方法。”