如何使用Hive外部Hive表创建空数据框?

时间:2019-10-15 18:21:39

标签: scala apache-spark

我正在使用以下内容通过配置单元外部表创建一个数据框(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)

如何使用配置单元外部配置单元表创建一个空的数据框?

1 个答案:

答案 0 :(得分:2)

您可以这样做:

val table1 = sqlContext.table("db.table").limit(0)

这将只为您提供带有模式的空df。由于采用了惰性求值,因此它的加载时间也不会短于加载模式。