java中区域名称不能为空咋回事_收到错误区域名称[us-west-1]无效[Kinesis Streaming Integration with spark]...

我已经设置了spark并尝试使用python示例为此处找到的wordcount运行spark Submit命令

以下是我为spark提交运行的命令:-

bin/spark-submit --packages org.apache.spark:spark-streaming-kinesis-asl_2.12:2.4.0 /Users/amitdhawan/Downloads/kinesis_wordcount_asl.py [appname] [streamname] [https://kinesis.us-west-1.amazonaws.com] [us-west-1]

我得到的错误如下:

Traceback (most recent call last):

File "/Users/amitdhawan/Downloads/kinesis_wordcount_asl.py", line 76, in

ssc, appName, streamName, endpointUrl, regionName, InitialPositionInStream.LATEST, 2)

File "/Users/amitdhawan/Downloads/spark-2.2.3-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/streaming/kinesis.py", line 92, in createStream

File "/Users/amitdhawan/Downloads/spark-2.2.3-bin-hadoop2.7/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py", line 1257, in __call__

File "/Users/amitdhawan/Downloads/spark-2.2.3-bin-hadoop2.7/python/lib/py4j-0.10.7-src.zip/py4j/protocol.py", line 328, in get_return_value

py4j.protocol.Py4JJavaError: An error occurred while calling o28.createStream.

: java.lang.IllegalArgumentException: Region name '[us-west-1]' is not valid

at org.apache.spark.streaming.kinesis.KinesisUtils$.$anonfun$validateRegion$2(KinesisUtils.scala:561)

at scala.Option.getOrElse(Option.scala:121)

at org.apache.spark.streaming.kinesis.KinesisUtils$.validateRegion(KinesisUtils.scala:561)

at org.apache.spark.streaming.kinesis.KinesisUtils$.$anonfun$createStream$1(KinesisUtils.scala:75)

at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)

at org.apache.spark.streaming.StreamingContext.withNamedScope(StreamingContext.scala:274)

at org.apache.spark.streaming.kinesis.KinesisUtils$.createStream(KinesisUtils.scala:75)

at org.apache.spark.streaming.kinesis.KinesisUtils$.createStream(KinesisUtils.scala:509)

at org.apache.spark.streaming.kinesis.KinesisUtilsPythonHelper.createStream(KinesisUtils.scala:614)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)

at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)

at py4j.Gateway.invoke(Gateway.java:282)

at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)

at py4j.commands.CallCommand.execute(CallCommand.java:79)

at py4j.GatewayConnection.run(GatewayConnection.java:238)

at java.lang.Thread.run(Thread.java:745)

不知道为什么我无法获得区域的错误,因为我已经确定aineconsole中的Kinesis流和应用程序存在于us-west-1中。

编辑:-

现在我在下面的命令中出现错误以运行kinesis流

bin/run-example streaming.KinesisWordProducerASL streamname https://kinesis.us-west-1.amazonaws.com 1000 10

错误是:-

java.lang.ClassNotFoundException: org.apache.spark.examples.streaming.KinesisWordProducerASL

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:348)

at org.apache.spark.util.Utils$.classForName(Utils.scala:233)

at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:732)

at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:180)

at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:205)

at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:119)

at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

不知道如何注册该课程。我还在spark Submit命令中提供了--class参数,但这也无法正常工作。

解决方案

通过使用以下命令解决了它:

bin/spark-submit --packages org.apache.spark:spark-streaming-kinesis-asl_2.11:2.4.0 /Users/amitdhawan/Downloads/kinesis_wordcount_asl.py appname streamname https://kinesis.us-west-1.amazonaws.com us-west-1

观察方括号已删除,并且scala也从2.12降级到2.11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值