我正在使用以下内容通过配置单元外部表创建一个数据框(spark scala)。但是数据框也将数据加载到其中。我需要使用蜂巢外部表的架构创建一个空的DF。我正在为此使用spark scala。
const data = [
["a", "b"],
["c", "d", "e"],
["f", "g"]
]
const cartesian = data.reduce((acc, curr) =>
acc.flatMap(c => curr.map(n => [].concat(c, n)))
)
const tree = arr => arr.reduceRight((acc, Header) =>
acc ? ({ Header, Children: [acc] }) : ({ Header })
, null)
const output = cartesian.map(tree)
console.log(JSON.stringify(cartesian))
console.log(output)
如何使用配置单元外部配置单元表创建一个空的数据框?
答案 0 :(得分:2)
您可以这样做:
val table1 = sqlContext.table("db.table").limit(0)
这将只为您提供带有模式的空df。由于采用了惰性求值,因此它的加载时间也不会短于加载模式。