【发布时间】:2019-06-26 20:50:38
【问题描述】:
现在我正在尝试在 streamread 上执行相同的架构。
val jsonSchema = StructType([ StructField("associatedEntities", struct<driver:StringType,truck:StringType>, True),
StructField("heading", StringType, True),
StructField("location", struct<accuracyType:StringType,captureDateTime:StringType,cityStateCode:StringType,description:StringType,latitude:DoubleType,longitude:DoubleType,quality:StringType,transmitDateTime:StringType>, True),
StructField("measurements", array<struct<type:StringType,uom:StringType,value:StringType>>, True),
StructField("source", struct<entityType:StringType,key:StringType,vendor:StringType>, True),
StructField("speed", DoubleType, True)])
val df = spark
.readStream
.format("eventhubs")
//.schema(jsonSchema)
.options(ehConf.toMap)
.load()
当我在笔记本中运行此单元格时“:15:错误:简单表达式的非法开始 val jsonSchema = StructType([ StructField("associatedEntities", struct, True),"
编辑:目标是将数据放入数据框中。我可以从事件中心消息的正文中获取 json 字符串,但如果我无法让架构工作,我不确定从那里做什么。
【问题讨论】:
-
检查这个 SO 问题stackoverflow.com/questions/46568435/…
-
我将如何处理 array
> 在那个 .add 样式中? -
事件中心似乎不需要架构,我正在尝试采用具有 json 对象的二进制主体 col,然后对其进行结构化
标签: scala apache-spark databricks spark-structured-streaming