【发布时间】:2016-11-09 03:38:44
【问题描述】:
让我们来解决以下玩具问题,我有以下案例类:
case class Order(id: String, name: String, status: String)
case class TruncatedOrder(id: String)
case class Org(name: String, ord: Seq[TruncatedOrder])
我现在有以下定义的变量
val ordersDF = Seq(Order("or1", "stuff", "shipped"), Order("or2", "thigns", "delivered") , Order("or3", "thingamabobs", "never received"), Order("or4", "???", "what?")).toDS()
val orgsDF = Seq(Org("tupper", Seq(TruncatedOrder("or1"), TruncatedOrder("or2"), TruncatedOrder("or3"))), Org("ware", Seq(TruncatedOrder("or3"), TruncatedOrder("or4")))).toDS()
例如,我想要一个如下所示的数据点Ord("tupper", Array(Joined("or1", "stuff", "shipped"), Joined("or2", "things", "delivered"), ...)
我想知道如何格式化我的join 语句和过滤语句。
【问题讨论】:
-
您是否尝试将
DF保存为temp table并编写查询?一旦您对此感到满意,您就可以使用 DataFrame API 进行转换。 -
@Shankar 我没想到,你怎么看那个临时表被使用了?
-
你可以将df存储到temple
ordersdf.registerTempTable("orders"),然后使用sqlContext.sql("write sql query with join and where condition")
标签: apache-spark