我正在从事以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}
是否可以提供从文件读取的信息?