Apache spark 如何在Spark流应用程序中处理DynamoDB流

Apache spark 如何在Spark流应用程序中处理DynamoDB流,apache-spark,amazon-dynamodb,amazon-kinesis,Apache Spark,Amazon Dynamodb,Amazon Kinesis,我想使用Spark流应用程序中的DynamoDB流 Spark streaming使用KCL读取运动信息。有一个lib使KCL能够从DynamoDB流读取数据:DynamoDB流运动适配器 但是有可能把这个lib插入spark吗?有人这样做吗 我正在使用Spark 2.1.0 我的备份计划是让另一个应用程序从DynamoDB流读取到Kinesis流 感谢这样做的方法,它实现了使用dynamodb-streams-kinesis-adapter提供的worker的KinesisInputDStre

我想使用Spark流应用程序中的DynamoDB流

Spark streaming使用KCL读取运动信息。有一个lib使KCL能够从DynamoDB流读取数据:DynamoDB流运动适配器

但是有可能把这个lib插入spark吗?有人这样做吗

我正在使用Spark 2.1.0

我的备份计划是让另一个应用程序从DynamoDB流读取到Kinesis流


感谢这样做的方法,它实现了使用
dynamodb-streams-kinesis-adapter提供的worker的KinesisInputDStream
专家建议如下:

final Worker=streamsworker工厂
.createDynamoDbStreamsWorker(
recordProcessorFactory,
workerConfig,
adapterClient,
亚马逊数据库,
amazonCloudWatchClient)

从Spark的角度来看,它是在KinesisInputDStream.scala中的kinesis asl模块下实现的

我已经在Spark 2.4.0中试用过了。这是我的回购协议。它不需要什么改进,但可以完成工作

在修改了KinesiInputStream之后,我们可以使用它,如下所示。
val stream=kinesInputdStream.builder
.streamingContext(ssc)
.streamName(“示例-tablename-2”)
.地区名称(“us-east-1”)
.initialPosition(新的最新版本())
.checkpointAppName(“示例应用程序”)
.检查点间隔(毫秒(100))
.storageLevel(storageLevel.MEMORY_和磁盘_2)

.build()

到目前为止,您尝试了什么?我已经能够通过调整:KinesisUtils、KinesIsInputStream和KinesisReceiver来使用DynamoDB流。真正的变化在于我使用com.amazonaws.services.dynamodbv2.streamsadapter.StreamsWorker的KinesReceiver。