hive 脚本 (hivequery.hql) 文件中的这个符号是什么意思 "use ${word:word}"
what does this notation in hive script(hivequery.hql) file mean "use ${word:word}"
脚本 (hivequery.hql:) 如下所示:
Use ${platformType:platformName};
select * from hivetablename;
并且此脚本在 bash 脚本中被调用为
#!/usr/bin/env bash
hive -f hivequery.hql
编写结构 ${word:word}
更正确的方法是编写 ${parameter:offset}
。它导致参数扩展,它扩展到 parameter 的值的部分,该部分从扩展 offset 到 parameter 的末尾确定的字符开始(从 0 开始计算)。它还有一个变体 ${parameter:offset:length }
- 扩展到参数值的一部分,该部分从字符开始(从 0 开始计数),该部分通过将 offset 扩展为算术表达式而确定,并由算术表达式确定的字符数组成由长度定义。
所以我认为在您的情况下,基本上是从 platformType 获取数据库的名称。
有关此内容的更多详细信息,请查看
在 bash 手册页中查找 Parameter Expansion。
在 hql 文件中,use
命令设置默认数据库。参见 Use Database。
${platformType:platformName}
是Hive的变量表示法,其中platformType
是命名空间,platformName
是变量名。这在语言手册的 Using Variables 部分进行了解释。
如果您想查看特定变量的值,您可以使用 set
,例如:
set platformType:platformName;
它会打印出这个值。您还可以 运行 set;
获取所有命名空间中已知变量的完整列表。
脚本 (hivequery.hql:) 如下所示:
Use ${platformType:platformName};
select * from hivetablename;
并且此脚本在 bash 脚本中被调用为
#!/usr/bin/env bash
hive -f hivequery.hql
编写结构 ${word:word}
更正确的方法是编写 ${parameter:offset}
。它导致参数扩展,它扩展到 parameter 的值的部分,该部分从扩展 offset 到 parameter 的末尾确定的字符开始(从 0 开始计算)。它还有一个变体 ${parameter:offset:length }
- 扩展到参数值的一部分,该部分从字符开始(从 0 开始计数),该部分通过将 offset 扩展为算术表达式而确定,并由算术表达式确定的字符数组成由长度定义。
所以我认为在您的情况下,基本上是从 platformType 获取数据库的名称。
有关此内容的更多详细信息,请查看 在 bash 手册页中查找 Parameter Expansion。
在 hql 文件中,use
命令设置默认数据库。参见 Use Database。
${platformType:platformName}
是Hive的变量表示法,其中platformType
是命名空间,platformName
是变量名。这在语言手册的 Using Variables 部分进行了解释。
如果您想查看特定变量的值,您可以使用 set
,例如:
set platformType:platformName;
它会打印出这个值。您还可以 运行 set;
获取所有命名空间中已知变量的完整列表。