为了账号安全,请及时绑定邮箱和手机立即绑定

SparkSql 和正则表达式

SparkSql 和正则表达式

繁华开满天机 2022-07-20 15:59:05
就我而言,我在 JavaSparkSQL 中使用数据集(数据框)。此数据集来自 JSON 文件。json 文件由键值组成。当我午餐查询时,查看我写的值,例如: SELECT key1.name from table示例 JSON 文件 {     "key1":           { "name": ".....",....}     "key2":           { "name":"....",....}    }我的问题是,当我想加入所有关键时,我相信我应该使用像select key*.name from table但我不知道正则表达式!请帮忙
查看完整描述

1 回答

?
森林海

TA贡献2011条经验 获得超2个赞

恐怕(火花)SQL 中没有这样的语法。


不过,您可能希望以编程方式构建查询。


就像是 :


String sql = Stream.of(ds.schema().fieldNames()).filter(name -> name.startsWith("key")).collect(Collectors.joining(", ", "select ", " from table"));

System.out.println(sql);

甚至


Dataset<Row> result = spark.table("table").select(Stream.of(ds.schema().fieldNames()).filter(name -> name.startsWith("key")).map(name -> ds.col(name))

                .toArray(Column[]::new));

result.show();


查看完整回答
反对 回复 2022-07-20
  • 1 回答
  • 0 关注
  • 228 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信