小编moe*_*moe的帖子

如何在Dataset中存储自定义对象?

根据Spark数据集介绍:

正如我们期待着星火2.0,我们计划将数据集的一些令人兴奋的改进,具体包括:...自定义编码器 - 而我们对各种各样的类型目前自动生成编码器,我们想开了一个API,用于自定义对象.

并尝试将自定义类型存储为Dataset导致以下错误:

无法找到存储在数据集中的类型的编码器.导入sqlContext.implicits._支持原始类型(Int,String等)和产品类型(case类).将来版本中将添加对序列化其他类型的支持

要么:

Java.lang.UnsupportedOperationException:找不到针对....的编码器

有没有现成的解决方法?


请注意,此问题仅作为社区Wiki答案的入口点存在.随意更新/改进问题和答案.

scala apache-spark apache-spark-dataset apache-spark-encoders

133
推荐指数
4
解决办法
6万
查看次数

从SparkSession获取JavaSparkContext

我正在使用一个SparkSession来运行我的spark应用程序,因为我使用了很多spark-sql功能.我想用它JavaSparkContext来从列表中创建一个RDD.但通过会议,我只能得到一个普通的 SparkContext.有没有办法在这个方向上改变背景?

java apache-spark

13
推荐指数
2
解决办法
1万
查看次数

如何在pipenv中指定pytorch/cuda版本

我正在尝试使用 pipenv 安装与特定 cuda 驱动程序版本兼容的特定版本的 pytorch。该pytorch网站显示了如何将它与PIP:

pip3 install torch==1.3.1+cu92 torchvision==0.4.2+cu92 -f https://download.pytorch.org/whl/torch_stable.html
Run Code Online (Sandbox Code Playgroud)

我试图将其转换为我Pipfile这样的条目:

[[source]]
name = "pytorch"
url = "https://download.pytorch.org/whl/torch_stable.html"
verify_ssl = false

pytorch = {version="==1.3.1+cu92", index="pytorch"}
torchvision = {version="==0.4.2+cu92", index="pytorch"}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用。无法解决与此版本的依赖关系。我不确定-fpip3命令中与参数一起列出的 url 是否是pipenv.

我可以通过将命令传递给 pip 来安装这两个库,如下所示:

pipenv run pip install torch==1.3.1+cu92 torchvision==0.4.2+cu92 -f https://download.pytorch.org/whl/torch_stable.html
Run Code Online (Sandbox Code Playgroud)

但我对该解决方案并不满意,因为依赖项不在Pipfile,我必须手动记录此命令的用法。

pytorch pipenv

8
推荐指数
1
解决办法
1480
查看次数

Apache Spark 在 Dataframe 中找到第一个不同的前一行

我有以下格式的 Apache Spark 数据帧

| ID |  groupId  | phaseName |
|----|-----------|-----------|
| 10 | someHash1 | PhaseA    |
| 11 | someHash1 | PhaseB    |
| 12 | someHash1 | PhaseB    |
| 13 | someHash2 | PhaseX    |
| 14 | someHash2 | PhaseY    |
Run Code Online (Sandbox Code Playgroud)

每行代表一个阶段,该阶段在由多个这些阶段组成的过程中发生。该ID列表示阶段的顺序,该groupId列显示哪些阶段属于一起。

我想向数据框添加一个新列:previousPhaseName。此列应指示来自同一程序前一个不同阶段。进程的第一阶段(具有最小 ID 的null阶段)将与前一阶段相同。当一个阶段出现两次或更多次时,第二次(第三次...)出现将具有相同的 previousPhaseName 例如:

df = 
| ID |  groupId  | phaseName | prevPhaseName |
|----|-----------|-----------|---------------|
| 10 | someHash1 | …
Run Code Online (Sandbox Code Playgroud)

java sql gaps-and-islands apache-spark apache-spark-sql

2
推荐指数
1
解决办法
2124
查看次数