file - que - operaciones aritmeticas shell script
el comando colmena en script bash no cargará el archivo en la tabla (1)
Estoy escribiendo un script bash que, entre otras cosas, tiene que crear una tabla de hive y cargar un archivo csv (cuyo nombre no se conoce a priori) en esa tabla. He exportado el nombre del archivo foo.csv
a la variable de entorno myfile
y he probado el comando
hive --hiveconf mf=$myfile -e ''set mf; set hiveconf:mf; load data local inpath ${hiveconf:mf} into table mytable''
Devuelve el error
FAILED: ParseException line 1:23 mismatched input ''foo'' expecting StringLiteral near ''inpath'' in load statement
Ya traté de usar la ruta absoluta al archivo y tampoco funcionará: si la ruta es /mypath/foo.csv
el error será
FAILED: ParseException line 1:23 mismatched input ''/'' expecting StringLiteral near ''inpath'' in load statement
Incluso tratando de poner directamente el nombre del archivo como este
hive -e ''load data local inpath foo.csv into table mytable''
no funciona en absoluto, y el error arrojado es el mismo que antes.
¿Alguien tiene alguna idea sobre qué está mal con estos comandos? Realmente podría apreciar algo de ayuda, gracias.
El nombre de archivo debe colocarse dentro de ''''
:
load data local inpath ''foo.csv'' into table mytable
En su secuencia de comandos probablemente debería escapar de estos símbolos, por lo que no obtendrá otra excepción de análisis.
Además, mira Language Manual al cargar