Spark Streaming无法从Kinesis读取数据

时间:2019-04-26 06:22:10

标签: apache-spark spark-streaming amazon-kinesis

我已经准备好pyspark代码以在我的Spark Streaming中从AWS Kinesis读取数据。代码运行正常,没有任何错误,但未获取任何记录。

我仅用一个分片创建了一个运动学数据流,并使用Kinesis utils创建了运动学火花流。

spark_session = SparkSession.builder.getOrCreate()
ssc = StreamingContext(spark_session.sparkContext, 10)
sc = spark_session.sparkContext
Kinesis_app_name = "test"
Kinesis_stream_name = "aip4_idc_sensor_data"
endpoint_url = "kinesis.us-east-1.amazonaws.com"
region_name = "us-east-1"

data = KinesisUtils.createStream(
    ssc, Kinesis_app_name, Kinesis_stream_name, endpoint_url,
    region_name, InitialPositionInStream.LATEST, 10, StorageLevel.MEMORY_AND_DISK_2)


data.pprint()


ssc.start()  # Start the computation
ssc.awaitTermination()  # Wait for the computation to terminate

aws命令放置记录:

aws kinesis put-record-流名称aip4_icd_sensor-数据“测试”-分区键“六十”

1 个答案:

答案 0 :(得分:0)

对我来说,问题在于我的运动学基础远远落后于最新发展。即使它连接到运动学,它仍然试图读取旧的空记录。 最好的方法是转到DynamoDB,您将看到一个与kinesisAppName相同名称的表。删除它,然后尝试再次运行。这个对我有用。立刻,我从信息流中获得了最新记录