apache-spark-dataset相关内容

如何从 RDD 创建 Spark 数据集

我有一个 RDD[LabeledPoint] 打算在机器学习管道中使用.我们如何将 RDD 转换为 DataSet?请注意较新的 spark.ml api 需要 Dataset 格式的输入. 解决方案 这是一个遍历额外步骤的答案 - DataFrame.我们使用 SQLContext 创建一个 DataFrame,然后使用所需的对象类型创建一个 DataSet - 在本例中为 Labele ..
发布时间:2022-01-21 13:05:46 其他开发

遍历 Dataset 中具有键值对数组的列,并找出具有最大值的对

我在一个 dataframe 中有数据,它是从 azure eventhub 获得的.然后我将这些数据转换为 json 对象,并将所需的数据存储到一个数据集中,如下所示. 用于从 eventhub 获取数据并将其存储到数据帧中的代码. val connectionString = ConnectionStringBuilder().setEventHubName().buildval cu ..

Apache Spark 基于另一行更新 RDD 或数据集中的一行

我想弄清楚如何根据另一行更新某些行. 例如,我有一些类似的数据 Id |用户名 |评分 |城市--------------------------------1、飞利浦、2.0、蒙特利尔、...2, 约翰, 4.0, 蒙特利尔, ...3、查尔斯、2.0、德克萨斯、... 我想将同一城市的用户更新为相同的 groupId(1 或 2) Id |用户名 |评分 |城市---------- ..

如何将 csv 字符串转换为 Spark-ML 兼容的数据集<Row>格式?

我有一个 Datasetdf,包含 string 类型的两列(“key"和“value").df.printSchema();给我以下输出: root|-- 键:字符串(可为空 = 真)|-- 值:字符串(可为空 = 真) value 列的内容实际上是一个 csv 格式的行(来自 kafka 主题),该行的最后一个条目代表类标签,所有之前的条目代表特征(第一行不包含在数据集中): featu ..

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

我正在努力理解 RDD、DataSet 和 DataFrame 之间的转换是如何工作的.我对 Spark 很陌生,每次我需要从数据模型传递到另一个数据模型(尤其是从 RDD 到数据集和数据帧)时,我都会卡住.谁能给我解释一下正确的做法? 举个例子,现在我有一个 RDD[org.apache.spark.ml.linalg.Vector] 并且我需要将它传递给我的机器学习算法,例如一个 KMe ..

Spark 2.0 DataSets groupByKey 和除法操作和类型安全

我对 Spark 2.0 DataSet 非常满意,因为它的编译时类型安全.但是这里有几个我无法解决的问题,我也没有为此找到好的文档. 问题 #1 - 聚合列的除法操作-考虑下面的代码 -我有一个 DataSet[MyCaseClass],我想在 c1、c2、c3 和 sum(c4)/8 上使用 groupByKey.如果我只计算总和,下面的代码运行良好,但它给出了除法 (8) 的编译时间错 ..

我是否必须明确使用 Dataframe 的方法来利用 Dataset 的优化?

为了利用Dataset的优化,我是否必须显式使用Dataframe的方法(例如df.select(col("name"),col("age") 等) 或调用任何数据集的方法 - 甚至 RDD 类方法(例如 filter、map 等)也允许优化? 解决方案 Dataframe 优化通常有 3 种风格: Tungsten 内存管理 催化剂查询优化 整个阶段的代码生成 Tungs ..

Spark 交换分区已经正确分布

我将 2 个数据集按两列连接起来,结果是包含 550 亿行的数据集.之后,我必须通过与 join 中使用的列不同的列对这个 DS 进行一些聚合.问题是 Spark 在加入后进行交换分区(550 亿行花费太多时间),尽管数据已经正确分布,因为聚合列是唯一的.我知道聚合密钥已正确分发,有没有办法将其告知 Spark 应用程序? 解决方案 1) 转到 Spark UI 并检查“Locality ..

使用Spark Scala为数据中的每个组选择窗口操作后的最新时间戳记录

我在一天的时间窗口 (86400) 内计算了 (user,app) 的尝试次数.我想提取具有最新时间戳和计数的行,并删除不必要的先前计数.确保您的答案考虑了时间窗口.一个拥有 1 台设备的用户可以一天或一周进行多次尝试,我希望能够在每个特定窗口中使用最终计数来检索那些特定时刻. 我的初始数据集是这样的: val df = sc.parallelize(Seq(("user1", "ipho ..

Spark-Java:如何转换格式为“yyyy-MM-ddThh:mm:ss.SSS+0000"的数据集字符串列用格式时间戳?

我有一个数据集,其中一列 lastModified 类型为字符串,格式为“yyyy-MM-ddThh:mm:ss.SSS+0000"(示例数据:2018-08-17T19:58:46.000+0000). 我必须通过将 lastModified 的值转换为格式“yyyy-MM-dd hh:mm"来添加时间戳类型的新列 lastModif_mapped:ss.SSS". 我尝试了下面的代 ..