【问题标题】:Variables in HiveQLHiveQL 中的变量
【发布时间】:2023-03-26 07:27:01
【问题描述】:

背景:

作为现代化工作的一部分,我正在尝试将大型存储过程转换为 HiveQL 脚本。每当从 Azure 数据工厂触发管道时,HiveQL 脚本作为 hive 活动的一部分在 Azure HDInsight 群集上运行。

我试图转换的存储过程有很多使用“DECLARE”语句声明的变量。例如:

DECLARE @Variable1 INT;

这些变量中的值是使用 SELECT 语句设置的。例如:

SELECT  @Variable1 = ColumnName1 FROM Table_Name;

这些变量在整个存储过程中被引用,如下所示:

SELECT * FROM Some_Table where ColumeName < @Variable1

以及许多无法进行子查询的复杂场景。

如何在 HiveQL 中做同样的事情?有没有办法在 HiveQL 脚本中声明、修改和使用变量?

【问题讨论】:

    标签: variables hive hiveql azure-data-factory azure-hdinsight


    【解决方案1】:

    HiveQL 不幸不是程序语言。

    您不能使用这样的变量。

    HiveQL 中的变量只是文本替换,它们不是按字面意思计算和替换的。

    使用一些shell脚本或python等或尝试HPL/SQL

    相关答案:https://stackoverflow.com/a/37821218/2700344 和这个:https://stackoverflow.com/a/51492264/2700344 - 阅读以更好地理解变量替换在 hiveql 中的工作原理

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-03
      相关资源
      最近更新 更多