Kann mir jemand sagen, wie Abfragen mit Spark-Shell für CSV-Datei geschrieben werden?Schreiben von Abfragen für CSV-Datei in Spark-Shell
Was habe ich erreicht war eine CSV-Datei mit databricks Bibliothek zu lesen und ein Datenrahmen erstellen, wie unten dargestellt:
./spark-shell --packages.com.databricks:spark-csv_2.10:1.4.0
import org.apache.spark.sql.SQLContext
val sqlContect = new SQLContext(sc)
val df = sqlContext.read.format("com.databricks.spark.csv") .option("header", "true").load("mylocalpath.csv")
Dann kann ich df.printSchema tun() und andere datafram Operationen ohne Probleme. Aber ich habe mich gefragt, wie kann ich ein paar Fragen schreiben?
ich die Anweisung auf http://spark.apache.org/docs/latest/sql-programming-guide.html sah und es erwähnt etwas über das Schema Programmatically angeben, folgte ich ihr Verfahren und nur CSV-Datei insteading von Text-Datei zu lesen, aber wenn ich val rowRDD = people.map(_.split(",")).map(p => Row(p(0), p(1).trim))
tat, bekam ich einen Fehlerwert Split sagen, ist nicht ein Mitglied von org.apache.spark.sql.Row. Wie kann ich dieses Problem beheben?
Und wenn es eine einfachere Methode zum Schreiben von SQL-Abfragen gibt, lass es mich wissen. Was ich letztendlich tun möchte, ist so etwas wie zwei Spalten auszuwählen, eine für ID, eine für Preis und returen den höchsten Preis so einfach.
df.printSchema() sieht wie folgt aus:
|-- TAXROLL_NUMBER: string (nullable = true)
|-- BUILDING_NAME: string (nullable = true)
|-- ASSESSED_VALUE: string (nullable = true)
|-- STREET_NAME: string (nullable = true)
|-- POSTAL_CODE: string (nullable = true)
|-- CITY: string (nullable = true)
|-- BUILD_YEAR: string (nullable = true)
|-- Lon: string (nullable = true)
|-- Lat: string (nullable = true)
Können Sie die Frage bearbeiten und zeigen, was die Ausgabe von 'printSchema' ist? Sobald Sie einen gültigen 'DataFrame' mit einem gültigen Schema haben, können Sie mit der Abfrage beginnen. Wenn Sie das Schema drucken, zeige ich Ihnen wie. –
Ja, ich habe meinen Post bearbeitet – teddy