在aws athena cli命令中是否提供了有效的方法来提供创建外部表语句的功能?

时间:2019-01-15 18:32:19

标签: amazon-web-services aws-cli amazon-athena

我正在从事以EMR作为处理引擎,以Tableu作为表示层和以S3作为存储层的AWS Athena的敏捷方法论项目。有没有办法在aws athena cli命令模式下提供创建表文件名?

到目前为止,我尝试了以下两个无效或无效的选项。

1。每当请求新添加字段或添加新表时,都通过AWS控制台手动创建外部表。 2.尝试以下方法,但不起作用
导出ATHENA_EXT_TABLE_1_SETUP = $(sed's / $ {env:EXPORT_LOCATION} / $ EXPORT_LOCATION / g'hive / ext / table_1_setup.q | envsubst)

“名称”:“设置雅典娜表”,     “ Args”:[       “ aws”,       “雅典娜”       “开始查询执行”,       “ - 请求参数”,       “ $ ATHENA_EXT_TABLE_1_SETUP”,       “ --query-execution-context”,       “数据库=正在报告”,       “-结果配置”,       “ OutputLocation = $ ATHENA_LOCATION”    ] 将上面的内容放在一个json文件中,并通过aws命令行jar文件调用它,但是由于create external table语句是如此之大,因此变量ATHENA_EXT_TABLE_1_SETUP无法容纳要作为EMR集群步骤一部分添加的整个字符串。 / p>

aws emr add-steps --cluster-id $ CLUSTER_ID --steps“ $(cat hive / ext / table_setup.json | envsubst)”

我们创建的所有外部表设置都存储在文件中,每个表一个,而EMR是瞬态群集。我们在EMR启动过程开始时运行设置脚本,并使外部文件可用于处理。我也想利用外部表设置文件来在Athena中创建表,我正在Athena中寻找一些与配置单元及其下类似的命令

hive -f“ /home/hadoop/hive/ext/table_1_setup.q”

这将帮助我们在CI / CD过程中在雅典娜进行设置,否则,我们每次都需要手动进行设置。

我想知道为什么AWS不提供在aws cli查询字符串中提供文件作为输入的选项

aws athena start-query-execution --query-string {value}

是否可以提供从文件读取的信息?

0 个答案:

没有答案