apache-spark-dataset相关内容

将 scala 列表转换为 DataFrame 或 DataSet

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

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

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

使用 spark 数据框进行现场数据验证

我有一堆列,例如我的数据显示如下所示.我需要检查列是否有错误,并且必须生成两个输出文件.我正在使用 Apache Spark 2.0,我想以一种有效的方式做到这一点. 架构详细信息---------------EMPID - (NUMBER)ENAME - (STRING,SIZE(50))性别 - (STRING,SIZE(1))数据----EMPID,ENAME,性别1001,里约,M101 ..
发布时间:2021-11-14 22:27:54 其他开发

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

我正在处理一个表示事件流的数据集(例如作为来自网站的跟踪事件触发).所有事件都有一个时间戳.我们经常遇到的一个用例是试图找到给定字段的第一个非空值.因此,例如,像这样的东西让我们最容易到达那里: val eventsDf = spark.read.json(jsonEventsPath)案例类 ProjectedFields(visitId: String, userId: Int, times ..
发布时间:2021-11-14 22:25:14 其他开发

如何降低数据框列名的大小写而不是其值?

如何降低数据框列名的大小写而不是其值?使用 RAW Spark SQL 和 Dataframe 方法? 输入数据框(假设我有 100 个大写的这些列) 名称 |国家 |资源中心 |城市 |借方---------------------------------------------"富"|“新西兰" |工资|“奥克兰" |15.0“酒吧"|“澳大利亚" |投资 |《墨尔本》|12.5 目 ..
发布时间:2021-11-14 22:24:15 其他开发

行类型 Spark 数据集的编码器

我想为 Row 在 DataSet 中键入,用于我正在执行的地图操作.本质上,我不明白如何编写编码器. 下面是一个地图操作的例子: 在下面的例子中,我不想返回Dataset,而是返回Dataset 数据集output = dataset1.flatMap(new FlatMapFunction() {@覆盖公共迭代器调用(行行)抛出异常{ArrayListobj =//一些地图操作返 ..

Apache spark加入动态重新分区

我正在尝试对两个表进行相当简单的连接,并不复杂.加载两个表,进行连接并更新列,但它不断抛出异常. 我注意到任务卡在最后一个分区 199/200 并最终崩溃.我怀疑是数据倾斜导致所有数据都加载到最后一个分区199. SELECT COUNT(DISTINCT report_audit) FROM ReportDs = 150 万. 虽然 SELECT COUNT(*) FRO ..

Spark CSV - 找不到适用于实际参数的构造函数/方法

我在 java spark 应用程序中对过滤器和类型化数据集的映射使用 lambda 函数时遇到问题. 我收到此运行时错误 错误代码生成器:无法编译:org.codehaus.commons.compiler.CompileException:文件“generated.java",第 130 行,第 126 列:未找到适用于实际参数“org.apache.spark.unsafe.type ..

如何阅读“.gz"使用 spark DF 或 DS 压缩文件?

我有一个 .gz 格式的压缩文件,是否可以使用 spark DF/DS 直接读取文件? 详细信息:文件是带有制表符分隔的 csv. 解决方案 读取压缩的 csv 与读取未压缩的 csv 文件的方式相同.对于 Spark 2.0+ 版本,可以使用 Scala 完成如下操作(注意制表符分隔符的额外选项): val df = spark.read.option("sep", "\t"). ..

使用 Spark 将 json 映射到 case 类(字段名称中的空格)

我正在尝试使用 spark Dataset API 读取 json 文件,问题是此 json 在某些字段名称中包含空格. 这将是一个 json 行 {"字段名称":"值"} 我的案例类需要这样 case class MyType(`Field Name`: String) 然后我可以将文件加载到 DataFrame 中,它会加载正确的架构 val dataframe = spark ..

Azure 数据湖的 Spark 谓词下推、过滤和分区修剪

我一直在阅读有关 Spark 谓词下推和分区修剪的信息,以了解读取的数据量.我有以下与此相关的疑问 假设我有一个包含列的数据集(年份:Int,SchoolName:String,StudentId:Int,SubjectEnrolled:String)其中磁盘上存储的数据按 Year 和 SchoolName 进行分区,并以 parquet 格式存储在 azure 数据湖存储中. 1) ..