apache-spark-dataset相关内容

如何将org.apache.spark.ml.linalg.Vector的RDD转换为数据集?

我正在努力了解RDD,DataSet和DataFrame之间的转换是如何工作的. 我是Spark的新手,每次需要从一个数据模型传递到另一个模型时(特别是从RDD到Datasets和Dataframes),我都会陷入困境. 谁能解释给我正确的方法? 作为示例,现在我有一个RDD[org.apache.spark.ml.linalg.Vector],我需要将其传递给我的机器学习算法,例如KMea ..

将scala列表转换为DataFrame或DataSet

我是Scala的新手.我正在尝试将scala列表(在源DataFrame上保存一些计算数据的结果)转换为Dataframe或Dataset.我没有找到任何直接的方法来做到这一点. 但是,我尝试了以下过程将列表转换为DataSet,但似乎不起作用.我提供以下3种情况. 有人可以给我带来些希望吗,如何进行转换?谢谢. import org.apache.spark.sql.{DataFra ..

适用于Azure Data Lake的Spark谓词下推,筛选和分区修剪

我一直在阅读有关火花谓词下推和分区修剪的信息,以了解读取的数据量.我对此有以下疑问 假设我有一个包含列的数据集 (年份:国际,学校名称:字符串,学生ID:国际,已注册学科:字符串) 其中存储在磁盘上的数据按Year和SchoolName进行分区,并以拼花格式存储在例如Azure Data Lake存储器中. 1)如果我发出read spark.read(container).filte ..

数据帧上的通用迭代器(Spark/Scala)

我需要按特定顺序遍历数据帧,并应用一些复杂的逻辑来计算新列. 在下面的示例中,我将使用简单的表达式,其中s的当前值是所有先前值的乘积,因此似乎可以使用UDF甚至解析函数来完成.但是,实际上逻辑要复杂得多. 下面的代码完成了所需的操作 import org.apache.spark.sql.Row import org.apache.spark.sql.types._ import ..

如何找到组中的第一个非空值? (使用数据集api进行二次排序)

我正在处理代表事件流(例如从网站跟踪事件而解雇)的数据集.所有事件都有时间戳.我们经常遇到的一个用例是尝试查找给定字段的第一个非null值.因此,例如类似的东西可以使我们最有效地到达目的地: val eventsDf = spark.read.json(jsonEventsPath) case class ProjectedFields(visitId: String, userId: ..
发布时间:2020-09-04 06:20:28 其他开发

Spark DataSet过滤器性能

我一直在尝试不同的方法来过滤类型化的数据集.事实证明,性能可能大不相同. 该数据集是基于1.6 GB的数据行(具有33列和4226047行)创建的.通过加载csv数据创建DataSet并将其映射到案例类. val df = spark.read.csv(csvFile).as[FireIncident] UnitId ='B02'上的过滤器应返回47980行.我测试了以下三种方法: ..

使用typedcolumn选择Spark Dataset

查看spark数据集上的select()函数,生成了各种函数签名: (c1: TypedColumn[MyClass, U1],c2: TypedColumn[MyClass, U2] ....) 这似乎暗示着我应该能够直接引用MyClass的成员并输入安全,但是我不确定如何... ds.select("member")当然可以工作..似乎ds.select(_.member)可能 ..
发布时间:2020-09-04 05:48:59 其他开发

Apache Spark加入了动态重新分区

我正在尝试在两个表上进行相当简单的联接,没有什么复杂的. 加载两个表,进行联接和更新列,但它总是引发异常. 我注意到任务卡在了最后一个分区199/200上,最终崩溃了. 我的怀疑是数据歪斜,导致所有数据都加载到了最后一个分区199. SELECT COUNT(DISTINCT report_audit) FROM ReportDs = 1.5million. 而 SELEC ..