Scala2.12.10和Spark3.0.0:“data.map(tuple1.apply)”做什么?

gpfsuwkq  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(538)

下面是Spark3.0.0中使用Scala2.12.10进行pca分析的示例。我很难理解scala的一些细微差别,而且我对scala编程还很陌生。
定义数据之后:

val data = Array(
            Vectors.sparse(5, Seq((1, 1.0), (3, 7.0))),
            Vectors.dense(2.0, 0.0, 3.0, 4.0, 5.0),
            Vectors.dense(4.0, 0.0, 0.0, 6.0, 7.0)
        )

Dataframe是这样创建的:

val df = spark.createDataFrame(data.map(Tuple1.apply)).toDF("features")

我的问题是:这是什么 data.map(Tuple1.apply) 你知道吗?我想让我不舒服的是apply没有争论。
提前谢谢!或许有人也可以推荐我一本不错的scala/spark入门书,这样我的问题将来会更好?

yfwxisqw

yfwxisqw1#

它由1个元素组成一个元组 toDF 可以使用作为输入来创建具有1列类型vector的Dataframe。就这些,但很方便。
一些参考文献https://mungingdata.com/apache-spark/best-books/. 我发现databricks课程过于简单,忽略了相关的方面。有一些好的网站:https://sparkbyexamples.com/https://www.waitingforcode.com/ 后者提供了一个成本很低的好课程。
关于scala apply还有一个很好的答案,那么scala中的apply函数是什么呢?

相关问题