我有一张 hive 的table ds
哪里 ds
是一根弦吗 2017-11-07
. 因为字符串是可比较的,所以我想通过sparksql从配置单元中选择最新的数据分区,所以我编写了以下代码:
Dataset<Row> ds = sparkSession.sql("select max(ds) from admin_zpw123_user_meta");
String s = ds.first().getString(0);
sparkSession.sql("select * from admin_zpw123_user_meta where ds="+s).show();
我可以打印字符串s,这是 2017-11-07
但是我没有从第三个语句中得到任何输出。我想知道为什么,有没有一个优雅的方式来做到这一点?
3条答案
按热度按时间vmjh9lq91#
spark中的操作非常低效,而您在以下方面的操作是无用的:
要解决此问题,只需执行以下操作即可过滤最新的分区日期:
mspsb9vt2#
你需要用单引号括起来
2017-11-07
在sql语句中使用它时的字符串。您可以将其添加到查询中,如下所示:kupeojn63#
我只是补充一句
’’
到了2017-11-07,一切都正常了,但还是没那么优雅