假定具有已注册表rdd的SchemaRDD customer。您要根据用户输入过滤出记录。您可能有以下一种想法:

rdd.sqlContext.sql(s"SELECT * FROM customer WHERE name='$userInput'")


但是,自从PHP过去以来,我们就知道这会导致令人讨厌的事情。
是否有等效的PreparedStatement?我唯一能找到的看起来与远程无关的是org.apache.commons.lang.StringEscapeUtils.escapeSql

最佳答案

一种选择是使用thriftserver to expose jdbc,然后可以使用常规技术(PreparedStatement等)来防止sql注入。

07-24 19:02
查看更多