Amazon web services 火花流和运动空白结果

Amazon web services 火花流和运动空白结果,amazon-web-services,spark-streaming,amazon-kinesis,Amazon Web Services,Spark Streaming,Amazon Kinesis,我正在尝试SparkStreaming consumer to Kinesis的wordcount示例。我的Kinesis流中有5个碎片,并运行一个本地[20]spark流消费者进程。 我知道在我的流中有一条消息,因为我可以使用一个简单的使用者来阅读它们,但是wordcount示例总是在数据流中显示空白RDD。有什么建议吗? rdd.toArray始终打印空白结果 // Spark Streaming batch interval Duration batchInterval = new Dur

我正在尝试SparkStreaming consumer to Kinesis的wordcount示例。我的Kinesis流中有5个碎片,并运行一个本地[20]spark流消费者进程。 我知道在我的流中有一条消息,因为我可以使用一个简单的使用者来阅读它们,但是wordcount示例总是在数据流中显示空白RDD。有什么建议吗? rdd.toArray始终打印空白结果

// Spark Streaming batch interval
Duration batchInterval = new Duration(2000);

// Kinesis checkpoint interval.  Same as batchInterval for this example.
Duration kinesisCheckpointInterval = batchInterval;

JavaStreamingContext ctx = new JavaStreamingContext(new SparkConf().setAppName("SparkKinesis").setMaster("local[20]"), batchInterval);
AmazonKinesisClient kinesisClient =
        new AmazonKinesisClient(new DefaultAWSCredentialsProviderChain());
kinesisClient.setRegion(Region.getRegion(Regions.US_WEST_2));
int numShards =
        kinesisClient.describeStream(SampleProducer.STREAM_NAME).getStreamDescription().getShards().size();

List<JavaDStream<byte[]>> streamsList = new ArrayList<>(numShards);
for (int i = 0; i < numShards; i++) {
    streamsList.add(
            KinesisUtils.createStream(ctx, "SparkKinesis", SampleProducer.STREAM_NAME, "kinesis.us-west-2.amazonaws.com", Region.getRegion(Regions.US_WEST_2).getName(),
                    InitialPositionInStream.TRIM_HORIZON, kinesisCheckpointInterval,
                    StorageLevel.MEMORY_AND_DISK_2())
    );
}

streamsList.get(1).foreachRDD(rdd -> {
    System.out.println(rdd.collect());});
streamsList.get(0).foreachRDD(rdd -> {
    System.out.println("size of rdd" +rdd.toArray());
});
//Spark流式处理批处理间隔
持续时间batchInterval=新的持续时间(2000年);
//运动检查点间隔。与本例中的batchInterval相同。
持续时间kinesisCheckpointInterval=批次间隔;
JavaStreamingContext ctx=新的JavaStreamingContext(新的SparkConf().setAppName(“SparkKinesis”).setMaster(“local[20]”,batchInterval);
Amazon运动客户端运动客户端=
新的AmazonKinesisClient(新的DefaultAWSCredentialsProviderChain());
kinesisClient.setRegion(Region.getRegion(Regions.US_-WEST_2));
努姆沙兹国际酒店=
kinesisClient.describeStream(SampleProducer.STREAM_NAME).getStreamDescription().getShards().size();
List streamsList=新阵列列表(numShards);
对于(int i=0;i{
System.out.println(rdd.collect());});
streamsList.get(0).foreachRDD(rdd->{
System.out.println(“rdd的大小”+rdd.toArray());
});

如果是master提供的示例,我猜您的配置是错误的。我想没有人能在你提供的信息方面帮你。尽量提供可复制的样品。这里没有心灵感应能力。@maasg在中添加了代码片段question@RockSolid你有没有找到解决这个问题的办法?@summerNight没有,很明显AWS与动觉和火花流媒体罐有很多冲突。您需要排除并包含多个JAR。。点击并尝试,在aws支持的帮助下,您可以完成这一过程。如果是master提供的示例,我猜您的配置是错误的。我想没有人能在你提供的信息方面帮你。尽量提供可复制的样品。这里没有心灵感应能力。@maasg在中添加了代码片段question@RockSolid你有没有找到解决这个问题的办法?@summerNight没有,很明显AWS与动觉和火花流媒体罐有很多冲突。您需要排除并包含多个JAR。。点击并尝试,在aws支持的帮助下,您可以完成此任务。