相关疑难解决方法(0)

如何将rdd对象转换为spark中的dataframe

如何将RDD(org.apache.spark.rdd.RDD[org.apache.spark.sql.Row])转换为Dataframe org.apache.spark.sql.DataFrame.我使用了将数据帧转换为rdd .rdd.处理完之后我想把它放回到数据帧中.我怎样才能做到这一点 ?

scala apache-spark rdd apache-spark-sql

128
推荐指数
7
解决办法
24万
查看次数

DataSet API和DataFrame API之间的区别

有没有人可以通过示例帮助我理解DataSet API和DataFrame API之间的区别?为什么需要在Spark中引入DataSet API?

apache-spark rdd apache-spark-sql apache-spark-dataset

49
推荐指数
0
解决办法
3万
查看次数

从案例类生成Spark StructType/Schema

如果我想创建一个StructType(即a DataFrame.schema)a case class,是否有办法在不创建的情况下创建DataFrame?我可以轻松地做到:

case class TestCase(id: Long)
val schema = Seq[TestCase]().toDF.schema
Run Code Online (Sandbox Code Playgroud)

但实际创建一个DataFrame我想要的只是模式似乎有点过分.

(如果你很好奇,问题背后的原因是我正在定义一个UserDefinedAggregateFunction,并且这样做会覆盖一些返回的方法,StructTypes并使用case类.)

apache-spark apache-spark-sql

47
推荐指数
4
解决办法
2万
查看次数

SparkContext,JavaSparkContext,SQLContext和SparkSession之间的区别?

  1. SparkContext, JavaSparkContext, SQLContext和之间有什么区别SparkSession?
  2. 是否有任何方法可以使用SparkSession?转换或创建Context ?
  3. 我可以使用一个条目完全替换所有上下文SparkSession吗?
  4. 在所有的功能SQLContext,SparkContext和JavaSparkContext也SparkSession?
  5. 有些功能parallelize在SparkContext和中有不同的行为JavaSparkContext.他们是如何表现的SparkSession?
  6. 如何使用SparkSession?创建以下内容?

    • RDD
    • JavaRDD
    • JavaPairRDD
    • Dataset

有没有一种方法可以将a JavaPairRDD转换为a Dataset或Dataseta JavaPairRDD?

java scala apache-spark rdd apache-spark-dataset

34
推荐指数
3
解决办法
1万
查看次数

为什么spark.ml不实现任何spark.mllib算法?

遵循Spark MLlib指南, 我们可以读到Spark有两个机器学习库:

  • spark.mllib,建立在RDD之上.
  • spark.ml,建立在Dataframes之上.

根据 StackOverflow上的这个和这个问题,Dataframes比RDD更好(和更新),应尽可能使用.

问题是我想使用常见的机器学习算法(例如:Frequent Pattern Mining,Naive Bayes等)和spark.ml(对于数据帧)不提供此类方法,仅spark.mllib(对于RDD)提供此算法.

如果Dataframes比RDD更好并且推荐指南推荐使用spark.ml,为什么不能在该lib中实现常见的机器学习方法?

这里遗漏的是什么?

machine-learning apache-spark pyspark apache-spark-ml apache-spark-mllib

14
推荐指数
1
解决办法
3104
查看次数

Spark - RelationalGroupedDataset与KeyvalueGroupedDataset?我什么时候应该使用它们?

Dataset在Spark中进行分组时,有两种方法:groupBy和groupByKey[K].

groupBy返回RelationalGroupedDataset,同时groupByKey[K]返回KeyvalueGroupedDataset.

它们之间有什么区别?

在什么情况下我应该选择一个而不是另一个?


为什么我的问题是关于"Dataset vs DataFrame"的问题的副本?我不明白.这显然是完全不同的事情!我的问题非常具体而非通用.

aggregation apache-spark apache-spark-dataset

11
推荐指数
0
解决办法
478
查看次数

Spark DataSet和RDD之间有什么区别

我仍在努力了解最近推出的Spark数据集的全部功能.

是否有何时使用RDD以及何时使用数据集的最佳实践?

在他们的公告中, Databricks解释说,通过使用数据集,可以实现运行时和内存的惊人减少.仍然声称数据集被设计为"与现有的RDD API一起工作".

这只是向下兼容性的参考,还是有人宁愿在数据集上使用RDD?

apache-spark rdd apache-spark-dataset

9
推荐指数
1
解决办法
3429
查看次数

我们应该并行化DataFrame,就像我们在训练之前并行化Seq一样

考虑一下这里给出的代码,

https://spark.apache.org/docs/1.2.0/ml-guide.html

import org.apache.spark.ml.classification.LogisticRegression
val training = sparkContext.parallelize(Seq(
  LabeledPoint(1.0, Vectors.dense(0.0, 1.1, 0.1)),
  LabeledPoint(0.0, Vectors.dense(2.0, 1.0, -1.0)),
  LabeledPoint(0.0, Vectors.dense(2.0, 1.3, 1.0)),
  LabeledPoint(1.0, Vectors.dense(0.0, 1.2, -0.5))))

val lr = new LogisticRegression()
lr.setMaxIter(10).setRegParam(0.01)

val model1 = lr.fit(training)
Run Code Online (Sandbox Code Playgroud)

假设我们使用sqlContext.read()将"training"作为数据框读取,我们是否应该做类似的事情

val model1 = lr.fit(sparkContext.parallelize(training)) // or some variation of this
Run Code Online (Sandbox Code Playgroud)

或者,在传递dataFrame时,fit函数将自动处理并行计算/数据

问候,

scala apache-spark apache-spark-sql pyspark apache-spark-ml

9
推荐指数
2
解决办法
2万
查看次数

Spark Ml评估方法

我有一个火花数据框如下:

predictions.show(5)
+------+----+------+-----------+
|  user|item|rating| prediction|
+------+----+------+-----------+
|379433|  31|     1| 0.08203495|
|  1834|  31|     1|  0.4854447|
|422635|  31|     1|0.017672742|
|   839|  31|     1| 0.39273006|
| 51444|  31|     1| 0.09795039|
+------+----+------+-----------+
only showing top 5 rows
Run Code Online (Sandbox Code Playgroud)

预测是预测的评级,评级是隐含评级(计数).

现在我想检查我的推荐算法的AUC.

我首先尝试了pyspark.ml.BinaryClassificationEvaluator,因为它直接在数据框上工作.

# getting the evaluationa metric 

from pyspark.ml.evaluation import BinaryClassificationEvaluator

evaluator = BinaryClassificationEvaluator(rawPredictionCol="prediction")
print evaluator.evaluate(predictions)
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

---------------------------------------------------------------------------
IllegalArgumentException                  Traceback (most recent call last)
<ipython-input-65-c642ea9c2cf5> in <module>()
      4 
      5 evaluator = BinaryClassificationEvaluator(rawPredictionCol="prediction")
----> 6 print evaluator.evaluate(predictions)
      7 
      8 #print evaluator.evaluate(predictions, {evaluator.metricName: "areaUnderPR"})

/Users/i854319/spark/python/pyspark/ml/evaluation.py in …
Run Code Online (Sandbox Code Playgroud)

python apache-spark pyspark apache-spark-ml apache-spark-mllib

9
推荐指数
1
解决办法
2321
查看次数

在 Apache Spark 中,什么情况下数据集优先于数据帧,反之亦然?

我一直在寻找任何链接、文档或文章来帮助我了解我们什么时候应该选择数据集而不是数据框,反之亦然?

我在互联网上找到的都是标题,when to use a Dataset但是当打开时,它们只是指定了 Dataframe 和 Dataset 之间的差异。有很多链接只是列出了场景名称的差异。

stackoverflow 上只有一个问题具有正确的标题,但即使在该答案中,databricks 文档链接也不起作用。

我正在寻找一些信息,可以帮助我从根本上理解我们何时选择数据集,或者在什么情况下数据集优于数据帧,反之亦然。如果没有答案,即使是可以帮助我理解的链接或文档也是值得赞赏的。

dataframe apache-spark pyspark apache-spark-dataset

8
推荐指数
1
解决办法
1317
查看次数