【发布时间】:2017-07-10 17:30:22
【问题描述】:
我正在尝试将 RDD 形式的 couchbase 转换为 DataFrame(scala 2.11 - 和 spark 2.1),但出现重载错误,我的代码如下,有什么想法吗?另一个帖子没有完全回答这个问题。
我在 Databricks 笔记本中执行此操作,并且我将沙发连接器用于纯 DataFrame,但如果我想做一个客户 N1QL 查询,一些更定制的,这是我能想到的最好的,首先使用 RDD?
首先,有没有更好的方法在本机 Dataframe 中执行此查询?我想我需要使用 n1qL 和 RDD 还是我在这里遗漏了什么?
请让我知道我在下面的 RDD 转换代码中做错了什么,我还得到了 :84: error: 重载方法值 createDataFrame with alternatives: error....谢谢!
val reconciliationSchema =
new StructType()
.add("numEvents", IntegerType)
.add("eventCategory", StringType)
.add("eventName", StringType)
val orderEventsCouchbaseQuery = """
SELECT
count(*) as numEvents, event.eventCategory, event.eventName
FROM
events
WHERE
STR_TO_UTC(event.eventOccurredTime)
BETWEEN STR_TO_UTC("2017-06-16") AND STR_TO_UTC("2017-06-26")
GROUP BY event.eventCategory, event.eventName
order by event.eventCategory, event.eventName
"""
val queryResultRDD = sc.couchbaseQuery(N1qlQuery.simple(orderEventsCouchbaseQuery),"events").map(_.value)
val queryResultDF: DataFrame = spark.createDataFrame(queryResultRDD,reconciliationSchema)
display(queryResultDF)
【问题讨论】:
标签: couchbase