2017-09-25 2 views
0

J'ai une requête de 1 700 lignes à exécuter dans Impala-shell. J'ai créé un script shell avec commande ci-dessous:Liste d'arguments de commande Impala-shell trop longue

impala-shell -V -i hostname -q "[QUERY]"

Cependant, quand je l'exécutaient à l'aide sh script.sh, je reçu le message d'erreur "Argument list too long". Je suis capable d'exécuter une requête plus simple/courte en utilisant la commande Impala-shell.

J'ai également essayé d'agrandir la limite en exécutant la commande ulimit -s 65536 mais j'ai eu la même erreur.

Je suspecte que le nombre de lignes de la requête est trop grand.

+0

Il existe en effet une limite au nombre d'arguments. Vous pouvez l'obtenir avec '' getconf ARG_MAX''. Pouvez-vous partager votre '' QUERY''? – xiawi

+1

Peut-être que l'option '-f' est ce dont vous avez besoin? 'L'option -f vous permet de traiter un fichier contenant plusieurs instructions SQL, telles qu'un ensemble de rapports ou d'instructions DDL, pour créer un groupe de tables et de vues.» –

Répondre

0

-f l'option est la réponse. J'ai préparé un fichier SQL séparé et cela a fonctionné. impala-shell -V -i hostname -f file.sql