问题标签 [apache-spark-encoders]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 为什么使用案例类对 JSON 进行编码时出现错误“无法找到存储在数据集中的类型的编码器”?
我写过火花工作:
在 IDE 中,当我运行 main 函数时,出现 2 个错误:
但在 Spark Shell 中,我可以运行此作业而不会出现任何错误。问题是什么?
scala - 如何在数据集中存储自定义对象?
根据介绍 Spark 数据集:
由于我们对 Spark 2.0 的期待,我们计划对 Datasets 进行一些激动人心的改进,特别是: ... 自定义编码器——虽然我们目前为多种类型自动生成编码器,但我们希望为自定义对象开放一个 API。
并尝试存储自定义类型Dataset
导致以下错误,例如:
找不到存储在数据集中的类型的编码器。通过导入 sqlContext.implicits 支持原始类型(Int、String 等)和产品类型(案例类)。未来版本中将添加对序列化其他类型的支持
或者:
Java.lang.UnsupportedOperationException:没有找到用于 .... 的编码器
是否有任何现有的解决方法?
请注意,此问题仅作为社区 Wiki 答案的入口点存在。随时更新/改进问题和答案。
scala - 如何在 Spark 2.X 数据集中创建自定义编码器?
Spark 数据集从 Row's 转移到Encoder
Pojo's/primitives 的's。Catalyst
引擎使用ExpressionEncoder
转换 SQL 表达式中的列。但是,似乎没有其他子类Encoder
可用作我们自己的实现的模板。
下面是一个在 Spark 1.X / DataFrames 中没有在新机制下编译的代码示例:
}
我们得到一个编译器错误
那么,不知何故/某处应该有办法
- 定义/实现我们的自定义编码器
DataFrame
在(现在是类型的 DatasetRow
)上执行映射时应用它- 注册编码器以供其他自定义代码使用
我正在寻找成功执行这些步骤的代码。
scala - 为什么在创建自定义案例类的数据集时“无法找到存储在数据集中的类型的编码器”?
Spark 2.0(最终版)和 Scala 2.11.8。以下超级简单的代码会产生编译错误Error:(17, 45) Unable to find encoder for type stored in a Dataset. Primitive types (Int, String, etc) and Product types (case classes) are supported by importing spark.implicits._ Support for serializing other types will be added in future releases.
scala - Apache Spark 2.0:java.lang.UnsupportedOperationException:找不到 java.time.LocalDate 的编码器
我正在使用 Apache Spark 2.0 并case class
为DetaSet
. 当我尝试根据如何在数据集中存储自定义对象来定义自定义编码器时?,因为java.time.LocalDate
我得到了以下异常:
以下是代码:
我们如何为 spark 定义第三方 api 的编码器?
更新
当我为整个案例类创建编码器时,df.map..
将对象映射为二进制,如下所示:
我期待 FireService 的地图,但返回地图的二进制文件。
scala - Spark 数据集和 java.sql.Date
假设我有一个Dataset
这样的 Spark:
我想创建一个Dataset
只有名称和日期字段的新字段。据我所知,我可以使用ds.select()
withTypedColumn
或者我可以使用ds.select()
withColumn
然后将其转换DataFrame
为Dataset
.
但是,我无法让前一个选项与该Date
类型一起使用。例如:
后一个选项有效:
有没有一种方法可以从不来回选择Date
字段?Dataset
DataFrame
scala - 将 scala 列表转换为 DataFrame 或 DataSet
我是 Scala 的新手。我正在尝试将 scala 列表(在源 DataFrame 上保存一些计算数据的结果)转换为 Dataframe 或 Dataset。我没有找到任何直接的方法来做到这一点。但是,我尝试了以下过程将我的列表转换为 DataSet,但它似乎不起作用。我提供以下 3 种情况。
有人可以给我一些希望,如何进行这种转换?谢谢。
scala - 尝试将数据帧行映射到更新行时出现编码器错误
当我试图在我的代码中做同样的事情时,如下所述
我从这里获取了上述参考: Scala: How can I replace value in Dataframs using scala 但是我收到编码器错误
找不到存储在数据集中的类型的编码器。通过导入 spark.implicits 支持原始类型(Int、S 字符串等)和产品类型(案例类)。未来版本中将添加对序列化其他类型的支持。
注意:我使用的是 spark 2.0!
scala - Spark 错误:无法找到存储在数据集中的类型的编码器
我在 Zeppelin 笔记本上使用 Spark,而 groupByKey() 似乎不起作用。
这段代码:
给了我这个错误(可能是编译错误,因为它在我正在处理的数据集非常大时立即显示):
我尝试添加一个案例类并将我的所有行映射到其中,但仍然出现相同的错误
我的数据框的架构是:
scala - Spark Dataset : Example : Unable to generate an encoder issue
New to spark world and trying a dataset example written in scala that I found online
On running it through SBT , i keep on getting the following error
org.apache.spark.sql.AnalysisException: Unable to generate an encoder for inner class
Any idea what am i overlooking
Also feel free to point out better way of writing the same dataset example
Thanks
Code :
JSON file ( student.json) :