Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 在火花变压器上设置自定义参数的可能性_Apache Spark_Pyspark_Pipeline_Apache Spark Ml - Fatal编程技术网

Apache spark 在火花变压器上设置自定义参数的可能性

Apache spark 在火花变压器上设置自定义参数的可能性,apache-spark,pyspark,pipeline,apache-spark-ml,Apache Spark,Pyspark,Pipeline,Apache Spark Ml,我正在使用spark管道,发现自己经常遇到这样的情况:我有一堆SQLTransformer在管道中做不同的事情,如果不看完整的语句,就无法真正理解它们做了什么 我想为每个transformer类型添加一些简单的文档或标记组件,当保存transformer时,这些文档或标记组件将被持久化,如果需要,可以稍后检索 基本上是这样的 s = SQLTransformer() s.tag = "basic target generation" s.save("tmp") s2 = SQLTransfor

我正在使用spark管道,发现自己经常遇到这样的情况:我有一堆SQLTransformer在管道中做不同的事情,如果不看完整的语句,就无法真正理解它们做了什么

我想为每个transformer类型添加一些简单的文档或标记组件,当保存transformer时,这些文档或标记组件将被持久化,如果需要,可以稍后检索

基本上是这样的

s = SQLTransformer()
s.tag = "basic target generation"
s.save("tmp")

s2 = SQLTransformer.load("tmp")
print(s2.tag)

我可以看出,我现在也不能这样做,因为param对象已被锁定,除了语句之外,我似乎无法修改现有对象或添加新对象。但是我能做些什么来得到这样的函数吗


我将Spark 2.1.1与python一起使用。

不是没有实现您自己的Scala Transformer扩展SQLTransformer,然后编写python接口或编写独立的python Transformer-

但是如果你

想添加一些简单的文档吗

您只需在语句中添加注释即可:

s=SQLTransformerstatement= -这是一个选择一切的转换器 从中选择*__ prints.getStatement -这是一个选择一切的转换器 从中选择*__
啊,我担心情况就是这样。。。所以除了直接在语句中添加注释之外,没有其他的黑客手段了吧?顺便说一句,除非运行Spark 2.3+,否则编写一个可以持久化的独立python转换器是不可能的,对吧?因为这是我要经历这整个考验的关键原因!据我所见,编写可以保存的转换器的唯一方法是在scala中编写它们,在python中公开它们,然后将保存方法重定向到scala api。
s = SQLTransformer()
s.setParam(tag="basic target generation")
s.save("tmp")

s2 = SQLTransformer.load("tmp")
print(s2.getParam("tag"))