我有一个spark2.1的集群和一个进程,它在最后写入一个文件
PipelineModel
StringIndexerModel
. 我可以局部(使用spark 2.3)加载管道并检查
. 看起来非常奇怪的是,两个版本的方法和字段不同,即使它们读取相同的文件。特别是火花2.1的领域
inputCol
这就是我得到的。
pip1 = PipelineModel.load("somepath")
si = pip1.stages[0]
si
#StringIndexer_494eb1f86ababc8540e2
si.inputCol
#Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
#AttributeError: 'StringIndexerModel' object has no attribute 'inputCol'
火花2.3
pip1 = PipelineModel.load("somepath")
si = pip1.stages[0]
si
#StringIndexer_494eb1f86ababc8540e2
si.inputCol
#Param(parent='StringIndexer_494eb1f86ababc8540e2', name='inputCol', doc='input column name')
我知道方法和字段可能会从一个版本更改为另一个版本,但是
一定是在物体的某个地方,因为制造
fit
或
transform
工作。有没有办法提取
在spark 2.1和PySpark中?