相关疑难解决方法(0)

Spark中的DataFrame,Dataset和RDD之间的区别

我只是想知道Apache Spark中的RDDDataFrame (Spark 2.0.0 DataFrame只是一个类型别名Dataset[Row])有什么区别?

你能把一个转换成另一个吗?

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

228
推荐指数
10
解决办法
10万
查看次数

如何在Spark SQL中定义自定义类型的模式?

以下示例代码尝试将一些案例对象放入数据框中.代码包括案例对象层次结构的定义和使用此特征的案例类:

import org.apache.spark.{SparkContext, SparkConf}
import org.apache.spark.sql.SQLContext

sealed trait Some
case object AType extends Some
case object BType extends Some

case class Data( name : String, t: Some)

object Example {
  def main(args: Array[String]) : Unit = {
    val conf = new SparkConf()
      .setAppName( "Example" )
      .setMaster( "local[*]")

    val sc = new SparkContext(conf)
    val sqlContext = new SQLContext(sc)

    import sqlContext.implicits._

    val df = sc.parallelize( Seq( Data( "a", AType), Data( "b", BType) ), 4).toDF()
    df.show()
  }
}    
Run Code Online (Sandbox Code Playgroud)

执行代码时,我遗憾地遇到以下异常:

java.lang.UnsupportedOperationException: Schema for type …
Run Code Online (Sandbox Code Playgroud)

scala case-class apache-spark apache-spark-sql

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

为什么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的distinct()函数是否仅对每个分区中的不同元组进行洗牌

据我所知,distinct()散列分区RDD以识别唯一键.但它是否优化了每个分区只移动不同的元组?

想象一下具有以下分区的RDD

  1. [1,2,2,1,4,2,2]
  2. [1,3,3,5,4,5,5,5]

在这个RDD的一个独特的地方,所有重复的密钥(分区1中的2s和分区2中的5s)是否会被混洗到它们的目标分区,或者只有每个分区的不同密钥被洗牌到目标?

如果所有键都被洗牌,那么带有set()操作的aggregate()将减少shuffle.

def set_update(u, v):
    u.add(v)
    return u
rdd.aggregate(set(), set_update, lambda u1,u2: u1|u2)
Run Code Online (Sandbox Code Playgroud)

python apache-spark pyspark

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