0
下面的简单工作直线查询;当我把它放在脚本中它会运行,但我想把一个hivevar的路径,我怎么做到这一点,因为当我把我的脚本.properties
文件='路径'似乎没有工作。我错过了这些单引号,我觉得我似乎无法让它工作。bash脚本中的直线查询
maxValQuery.hql
WORKING: INSERT OVERWRITE DIRECTORY '/user/tmp/maxVal' select max(${hivevar:MAX_VAL_COL}) from ${hivevar:FACT_TABLE};
WANTED: INSERT OVERWRITE DIRECTORY ${hivevar:PATH_ON_HDFS} select max(${hivevar:MAX_VAL_COL}) from ${hivevar:FACT_TABLE};
script.sh
#! /bin/bash
# I want to add --hivevar PATH_ON_HDFS=${maxValPathOnHDFS}
beeline \
-u $hiveServer2 \
--hivevar DATABASE_NAME_ON_HIVE=${dbNameOnHive} \
--hivevar FACT_TABLE=${mainFactTableOnHive} \
--hivevar MAX_VAL_COL=${factTableIncrementalColumn} \
-f ${maxValQueryFile}
script.properties
dbNameOnHive=poc
mainFactTableOnHive=factTable
factTableIncrementalColumn=aTimeColumn
maxValQueryFile=maxValQuery.hql
#maxValPathOnHDFS='/user/tmp/maxVal'
#I believe problem is above with the single quotes, yes I uncomment when i execute :P
当脚本和.props文件中的un-commenting('maxValPathOnHDFS')行发出脚本后,您会得到什么错误? –
@BigDataLearner错误:编译语句时出错:FAILED:ParseException行1:27在目标规范(状态= 42000,代码= 40000)中错误输入'/'期望StringLiteral接近'DIRECTORY' –
@BigDataLearner通过删除单引号属性文件,只是做'$ {hivevar:MAX_VAL_PATH}'我觉得愚蠢 –