异常(“storageLevel必须是pyspark.storageLevel”类型)

异常(“storageLevel必须是pyspark.storageLevel”类型),pyspark,flume,Pyspark,Flume,嗨,我正试图用pyspark集成做一个水槽,但是得到了错误 这是密码 from pyspark import SparkConf,SparkContext from pyspark.streaming import StreamingContext from pyspark.streaming.flume import FlumeUtils import sys from operator import add from pyspark.sql import functions hostnam

嗨,我正试图用pyspark集成做一个水槽,但是得到了错误

这是密码

from pyspark import SparkConf,SparkContext
from pyspark.streaming import StreamingContext
from pyspark.streaming.flume import FlumeUtils
import sys
from operator import add
from pyspark.sql import functions
hostname= sys.argv[1]
port= sys.argv[2]
renga = SparkConf().setMaster("yarn-client").setAppName("karthik")
amma= SparkContext(conf=renga)
appa=StreamingContext(amma,30)
rajagopal= FlumeUtils.createPollingStream(appa,hostname,port)
rajagopal.persist(StorageLevel.MEMORY_ONLY)
mohan= rajagopal.map(lambda m:m[1])
kowsi= mohan.flatMap(lambda fm : fm.split(" ")[6] == "deparment")
ujesh= kowsi.map(lambda m : (m.split(" ")[6].split("/")[1],1))
balaji=ujesh.reduceByKey(add)

balaji.saveAsTextFiles("xxxxx/user/shashankbh/jarvis/data/flume/conf")

appa.start()
appa.awaitTermination()
提前谢谢

问候,,
Renganathan

FlumeUtils.createPollingStream的函数签名是

FlumeUtils.createPollingStream(
ssc,
地址,
storageLevel=storageLevel(真、真、假、假、2),
maxBatchSize=1000,
平行度=5,
bodyDecoder=)
这意味着第三个位置参数是存储级别。在代码中,传递的是
端口
,它是从
sys.argv[2]
获取的字符串,因此不是有效的存储级别


这就是stacktrace的意思。学习如何理解stacktraces对任何程序员来说都是一项很好的技能。

感谢Oliver的评论,我对我成功完成上一步的相同之处表示怀疑,但在集群中运行时会出现以下错误。你好,Renga,我很高兴能帮上忙。对于后续问题,如果需要更多帮助,请提出新问题并复制该问题中错误的文字描述。