Ошибка при передаче параметра в HQL - PullRequest
0 голосов
/ 21 июня 2019

Ошибка: bash: строка 1: синтаксическая ошибка рядом с неожиданным токеном `('

При передаче varchar(16) в качестве параметра в HQL.

hive --hivevar id_variable_type="${id_variable_type}" -f $HIVE_SCRIPT_DIR/tds_validation.hql

Здесь значение id_variable_type равно Varchar(16).

Код, где оно используется:

SELECT  cast(customer_id as ${hivevar:id_variable_type}) as 
,run_date 
FROM ABCXXXX;

1 Ответ

0 голосов
/ 21 июня 2019

Снимите улей с ${hivevar:id_variable_type} и замените ${id_variable_type}

Пример сценария:

#!/bin/bash
id_variable_type="varchar(16)"
echo $id_variable_type
hive --hivevar id_variable_type="${id_variable_type}" -e "select cast(string('hive variables substitution') as ${id_variable_type})"

Выход:

hive variables s
...