Als «apache-spark-sql» getaggte Fragen

Apache Spark SQL ist ein Tool für "SQL und strukturierte Datenverarbeitung" in Spark, einem schnellen und universellen Cluster-Computing-System. Es kann verwendet werden, um Daten von Hive, Parkett usw. abzurufen und SQL-Abfragen über vorhandene RDDs und Datensätze auszuführen.


23
Wie kann ich Spaltentypen im DataFrame von Spark SQL ändern?
Angenommen, ich mache so etwas wie: val df = sqlContext.load("com.databricks.spark.csv", Map("path" -> "cars.csv", "header" -> "true")) df.printSchema() root |-- year: string (nullable = true) |-- make: string (nullable = true) |-- model: string (nullable = true) |-- comment: string (nullable = true) |-- blank: string (nullable = true) df.show() year …

8
Wie wähle ich die erste Zeile jeder Gruppe aus?
Ich habe einen DataFrame wie folgt generiert: df.groupBy($"Hour", $"Category") .agg(sum($"value") as "TotalValue") .sort($"Hour".asc, $"TotalValue".desc)) Die Ergebnisse sehen aus wie: +----+--------+----------+ |Hour|Category|TotalValue| +----+--------+----------+ | 0| cat26| 30.9| | 0| cat13| 22.1| | 0| cat95| 19.6| | 0| cat105| 1.3| | 1| cat67| 28.5| | 1| cat4| 26.8| | 1| cat13| 12.6| …

14
Spark - CSV-Datei als DataFrame laden?
Ich möchte eine CSV in Spark lesen und als DataFrame konvertieren und in HDFS mit speichern df.registerTempTable("table_name") Ich habe versucht: scala> val df = sqlContext.load("hdfs:///csv/file/dir/file.csv") Fehler, den ich bekommen habe: java.lang.RuntimeException: hdfs:///csv/file/dir/file.csv is not a Parquet file. expected magic number at tail [80, 65, 82, 49] but found [49, 59, …


2
Wie füge ich eine Spark-Spalte in einen Spark DataFrame ein?
Ich möchte eine Spalte in a DataFramemit einem beliebigen Wert hinzufügen (das ist für jede Zeile gleich). Ich erhalte eine Fehlermeldung, wenn ich withColumnFolgendes verwende: dt.withColumn('new_column', 10).head(5) --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-50-a6d0257ca2be> in <module>() 1 dt = (messages 2 .select(messages.fromuserid, messages.messagetype, floor(messages.datetime/(1000*60*5)).alias("dt"))) ----> 3 dt.withColumn('new_column', 10).head(5) /Users/evanzamir/spark-1.4.1/python/pyspark/sql/dataframe.pyc …



9
Wie füge ich einem Spark DataFrame eine neue Spalte hinzu (mit PySpark)?
Ich habe einen Spark DataFrame (mit PySpark 1.5.1) und möchte eine neue Spalte hinzufügen. Ich habe Folgendes ohne Erfolg versucht: type(randomed_hours) # => list # Create in Python and transform to RDD new_col = pd.DataFrame(randomed_hours, columns=['new_col']) spark_new_col = sqlContext.createDataFrame(new_col) my_df_spark.withColumn("hours", spark_new_col["new_col"]) Habe auch einen Fehler dabei: my_df_spark.withColumn("hours", sc.parallelize(randomed_hours)) Wie füge …



5
So ändern Sie eine Dataframe-Spalte in pyspark vom Typ "String" in den Typ "Double"
Ich habe einen Datenrahmen mit einer Spalte als String. Ich wollte den Spaltentyp in PySpark in Double-Typ ändern. Folgendes habe ich getan: toDoublefunc = UserDefinedFunction(lambda x: x,DoubleType()) changedTypedf = joindf.withColumn("label",toDoublefunc(joindf['show'])) Ich wollte nur wissen, ob dies der richtige Weg ist, da beim Durchlaufen der logistischen Regression ein Fehler auftritt. Ich …

10
Filtern Sie die Pyspark-Datenrahmenspalte mit dem Wert None
Ich versuche, einen PySpark-Datenrahmen mit einem Zeilenwert zu filtern None: df.select('dt_mvmt').distinct().collect() [Row(dt_mvmt=u'2016-03-27'), Row(dt_mvmt=u'2016-03-28'), Row(dt_mvmt=u'2016-03-29'), Row(dt_mvmt=None), Row(dt_mvmt=u'2016-03-30'), Row(dt_mvmt=u'2016-03-31')] und ich kann mit einem String-Wert richtig filtern: df[df.dt_mvmt == '2016-03-31'] # some results here aber das schlägt fehl: df[df.dt_mvmt == None].count() 0 df[df.dt_mvmt != None].count() 0 Aber es gibt definitiv Werte für …



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.