Spark SQL Hive Fehler für NOT EXISTS-Klausel in SQL-Abfrage.Hive-Fehler: Nicht unterstützte Sprachenfunktionen in Abfrage in Spark-Ausführung
Platform : cdh5.6.0
Hive version: Hive 1.1.0
Die nachstehende Abfrage EXISTIERT fein in Bienenstock prompt ausgeführt wird: select a, b, c, d FROM interim_t WHERE NICHT EXISTIERT (a SELECT FROM xyz_n ABC, wo (a = a) und (b = b) und (c = c)
Aber das gleiche Programm gibt Fehler "Nicht unterstützte Sprachfunktionen in Abfrage" in Funken Ausführung
from pyspark import SparkContext
sc =SparkContext()
from pyspark.sql import HiveContext
sqlContext = HiveContext(sc)
#sqlContext.sql("INSERT INTO abc_p PARTITION (SRVC_TYPE_CD='1') SELECT a,b,c,d FROM interim_t WHERE NOT EXISTS (SELECT a FROM xyz_n ABC where (a=a) AND (b=b) AND (c=c)")
Ausführung:.
spark-submit --verbose --deploy-mode client /data/abc.py
Nachricht Fehler:
nicht unterstützte Sprache Funktionen in Abfrage: INSERT INTO abc_p PARTITION (SRVC_TYPE_CD = '1') SELECT a, b, c, d FROM interim_t WHERE NOT EXISTIERT (SELECT a VON xyz_n ABC, wo (a = a) und (b = b) und (c = c))
denke ich sqlContext.sql nicht nICHT VORHANDEN in hive-Abfragen zu unterstützen. Könnten Sie bitte eine Lösung/Alternativen vorschlagen?
Ja, könnte es das Problem mit Hive-Version und Spark-Version sein. Ich verwende Plattform: cdh5.6.0 Hive-Version: Hive 1.1.0 Spark-Version: 1.6. Für mich auch, wenn ich die Abfrage auf Hive Prompt ausführe es funktioniert, aber in Spark-Programm gibt es Fehler. –
Ja, versuchen Sie, die Hive-Version zu aktualisieren und versuchen Sie es. Ich habe einige Änderungen an SQL gemacht, sollte oben Code funktionieren – Vikrame