SparkSql 和正则表达式

就我而言,我在 JavaSparkSQL 中使用数据集(数据框)。此数据集来自 JSON 文件。json 文件由键值组成。当我午餐查询时,查看我写的值,例如:


 SELECT key1.name from table

示例 JSON 文件


 {

     "key1":

           { "name": ".....",....}

     "key2":

           { "name":"....",....}

    }

我的问题是,当我想加入所有关键时,我相信我应该使用像


select key*.name from table

但我不知道正则表达式!请帮忙


繁华开满天机
浏览 229回答 1
1回答

森林海

恐怕(火花)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))&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .toArray(Column[]::new));result.show();!
打开App,查看更多内容
随时随地看视频慕课网APP