タグ付けされた質問 「apache-spark-sql」

Apache Spark SQLは、高速で汎用的なクラスターコンピューティングシステムであるSparkでの「SQLおよび構造化データ処理」のためのツールです。Hive、Parquetなどからデータを取得し、既存のRDDおよびデータセットに対してSQLクエリを実行するために使用できます。


23
Spark SQLのDataFrameで列タイプを変更するにはどうすればよいですか?
私が次のようなことをしているとしましょう: 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 make model comment blank 2012 …

8
各グループの最初の行を選択するにはどうすればよいですか?
次のように生成されたDataFrameがあります。 df.groupBy($"Hour", $"Category") .agg(sum($"value") as "TotalValue") .sort($"Hour".asc, $"TotalValue".desc)) 結果は次のようになります。 +----+--------+----------+ |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| | 1| cat23| 5.3| | 2| cat56| 39.6| | 2| …

14
Spark-CSVファイルをDataFrameとしてロードしますか?
私はスパークでCSVを読み取り、それをDataFrameとして変換し、HDFSに保存したいと思います df.registerTempTable("table_name") 私が試してみました: scala> val df = sqlContext.load("hdfs:///csv/file/dir/file.csv") 私が得たエラー: 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, 54, 10] at parquet.hadoop.ParquetFileReader.readFooter(ParquetFileReader.java:418) at org.apache.spark.sql.parquet.ParquetRelation2$MetadataCache$$anonfun$refresh$6.apply(newParquet.scala:277) at org.apache.spark.sql.parquet.ParquetRelation2$MetadataCache$$anonfun$refresh$6.apply(newParquet.scala:276) at scala.collection.parallel.mutable.ParArray$Map.leaf(ParArray.scala:658) at scala.collection.parallel.Task$$anonfun$tryLeaf$1.apply$mcV$sp(Tasks.scala:54) at scala.collection.parallel.Task$$anonfun$tryLeaf$1.apply(Tasks.scala:53) at scala.collection.parallel.Task$$anonfun$tryLeaf$1.apply(Tasks.scala:53) at scala.collection.parallel.Task$class.tryLeaf(Tasks.scala:56) at scala.collection.parallel.mutable.ParArray$Map.tryLeaf(ParArray.scala:650) at …


2
Spark DataFrameに定数列を追加するにはどうすればよいですか?
DataFrame任意の値を持つ列を追加します(各行で同じです)。withColumn次のように使用するとエラーが発生します。 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 in withColumn(self, colName, col) 1166 [Row(age=2, name=u'Alice', age2=4), Row(age=5, name=u'Bob', age2=7)] 1167 """ -> 1168 return self.select('*', col.alias(colName)) 1169 1170 @ignore_unicode_prefix AttributeError: 'int' object …

6
Spark SQLで列を降順に並べ替える方法は?
試しましたdf.orderBy("col1").show(10)が、昇順でソートしました。df.sort("col1").show(10)また、降順で並べ替えます。私はstackoverflowを調べましたが、見つかった回答はすべて古くなっているか、RDDと呼ばれていました。スパークでネイティブデータフレームを使用したいと思います。

5
DataFrameのパーティションを定義するにはどうすればよいですか?
Spark 1.4.0でSpark SQLとDataFramesを使い始めました。ScalaのDataFrameでカスタムパーティショナーを定義したいのですが、その方法がわかりません。 私が使用しているデータテーブルの1つには、次の例のsilimarのトランザクションのリストがアカウントごとに含まれています。 Account Date Type Amount 1001 2014-04-01 Purchase 100.00 1001 2014-04-01 Purchase 50.00 1001 2014-04-05 Purchase 70.00 1001 2014-04-01 Payment -150.00 1002 2014-04-01 Purchase 80.00 1002 2014-04-02 Purchase 22.00 1002 2014-04-04 Payment -120.00 1002 2014-04-04 Purchase 60.00 1003 2014-04-02 Purchase 210.00 1003 2014-04-03 Purchase 15.00 少なくとも最初は、ほとんどの計算はアカウント内のトランザクション間で行われます。したがって、アカウントのすべてのトランザクションが同じSparkパーティションにあるように、データをパーティション化したいと思います。 しかし、私はこれを定義する方法を見ていません。DataFrameクラスには …

9
(PySparkを使用して)Spark DataFrameに新しい列を追加するにはどうすればよいですか?
Spark DataFrame(PySpark 1.5.1を使用)があり、新しい列を追加したいと思います。 私は成功せずに次のことを試しました: 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"]) これを使用してもエラーが発生しました: my_df_spark.withColumn("hours", sc.parallelize(randomed_hours)) では、PySparkを使用して既存のDataFrameに新しい列(Pythonベクターに基づく)を追加するにはどうすればよいですか?



5
pysparkでDataframe列をString型からDouble型に変更する方法
文字列として列を持つデータフレームがあります。PySparkで列タイプをDoubleタイプに変更したいと思いました。 以下は私がやった方法です: toDoublefunc = UserDefinedFunction(lambda x: x,DoubleType()) changedTypedf = joindf.withColumn("label",toDoublefunc(joindf['show'])) 知りたいだけですが、これはロジスティック回帰を実行しているときにエラーが発生するので正しい方法ですか?これが問題の原因です。

10
値がNoneのPysparkデータフレーム列をフィルター処理する
None行の値を持つPySparkデータフレームをフィルタリングしようとしています: 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')] 文字列値で正しくフィルタリングできます: df[df.dt_mvmt == '2016-03-31'] # some results here しかし、これは失敗します: df[df.dt_mvmt == None].count() 0 df[df.dt_mvmt != None].count() 0 しかし、各カテゴリーには確かに価値があります。どうしたの?



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.