Spark流(run-example vs spark-submit)

2024-10-07 00:30:40 发布

您现在位置:Python中文网/ 问答频道 /正文

这是Spark with Flume (configuration/classpath?)的后续问题

在尝试了几件事之后,问题就出现了

$spark submit--jars/opt/scala/spark-streaming-flume_2.10-1.5.1.jar--master local[*]/home/user/spark/FlumeStreaming.py在

from pyspark import SparkContext
from pyspark.streaming import StreamingContext
from pyspark.streaming.flume import FlumeUtils

sc = SparkContext(appName="Newapp")
strm = StreamingContext(sc,1)

flume = FlumeUtils.createStream(strm,"localhost",9999)

lines = flume.map(lambda x: x[1])
counts = lines.flatMap(lambda line: line.split(" ")) \
        .map(lambda word: (word, 1)) \
        .reduceByKey(lambda a, b: a+b)
counts.pprint()

strm.start()
strm.awaitTermination()

^{pr2}$

我的问题是,它和水槽的代码是一样的_字数.py在spark示例中提供的示例中,示例中的示例可以正常工作,但我的版本不起作用。不同之处在于它的运行方式一个使用runexample,另一个使用spark submit,这表明了类路径和jar文件的管理方式。有什么我该做的吗?在


Tags: lambdafrompyimport示例sparkpysparkjar
2条回答

您不应该使用spark-streaming-flume_2.10-1.5.1.jar,它有它的依赖性。您可以在http://mvnrepository.com/artifact/org.apache.spark/spark-streaming-flume-assembly_2.10中下载程序集jar,然后按照上面的操作运行。在

希望有帮助。在

解决了这个问题,必须有正确的jar并将其传递给spark submit

$spark-submit  jars /path/to/spark-streaming-flume-assembly*.jar FlumeStreaming.py localhost 12345

相关问题 更多 >