berechnen Sie die string-Länge in Spark SQL-DSL

Edit: das ist eine alte Frage zur Spark 1.2

Ich habe versucht zu berechnen on-the-fly die Länge einer string-Spalte in einer SchemaRDD für die orderBy-Zwecke. Ich Lerne Spark SQL so meine Frage ist, streng über die Verwendung des DSL-oder die SQL-Schnittstelle Spark SQL macht, oder zu wissen, Ihre Grenzen.

Mein Erster Versuch war die Nutzung der integrierten relationalen Abfragen, zum Beispiel

notes.select('note).orderBy(length('note))

nicht mit Glück an der Zusammenstellung:

error: not found: value length

(Was mich Wundern lässt, wo zu finden, was "Ausdruck" diese DSL kann eigentlich beheben. Zum Beispiel, es löst das "+" für Spalte Ergänzungen.)

Dann habe ich versucht

sql("SELECT note, length(note) as len FROM notes")

Dieser schlägt mit

java.util.NoSuchElementException: key not found: length

(Dann ich Las das (ich bin mit 1.2.0)
http://spark.apache.org/docs/1.2.0/sql-programming-guide.html#supported-hive-features
und sich Fragen, in welchem Sinn Spark SQL unterstützt die aufgeführten hive-Funktionen.)

Fragen: ist die Länge Betreiber wirklich in Ausdrücken unterstützt und/oder in SQL-Anweisungen? Wenn ja, was ist die syntax? (bonus: gibt es eine spezifische Dokumentation über das, was aufgelöst wird, Spark SQL-Ausdrücke, und was wäre die syntax im Allgemeinen?)

Dank!

Haben Sie eine hive-site.xml in den classpath? In der Regel ist es in $SPARK_HOME/conf. Diese Datei enthält Hive classpath-Konfiguration.
NÖ, ich finde nicht alle hive-site.xml überall in der Funke zu Hause
Tun Sie implizieren, dass die hive-Funktionen sind nur verfügbar, wenn die Zusammenarbeit mit Hive-Tabellen? Also Spark SQL nicht unterstützt diese Funktionen auf RDD, hat man zum speichern von Tabellen in Hive ersten?
Ich habe gerade getestet: hive-site.xml ist nützlich, um zu konfigurieren, Hive, aber nicht notwendig. Die SQL-Abfrage funktioniert out-of-the-box-Spark-1.2.1 in local - Modus. Wenn Sie Ihre Abfrage in einem cluster (welche Art?) hat es Hive aktiviert?
hmmm... ich bin im lokalen Modus, aber 1.2.0. Ich kann versuchen 1.2.1

InformationsquelleAutor Wilmerton | 2015-02-16

Schreibe einen Kommentar