Код: Выделить всё
public Dataset sql(String sqlText, Map args)
Executes a SQL query substituting named parameters by the given arguments
- В справочнике по API pyspark: {param
- В справочной документации по Spark SQL: :param< /li>
В ответах на подобные вопросы SO и в других источниках: ${param}
Код: Выделить всё
//These throw syntax exceptions because the parameter is not substituted
spark.sql("SELECT * FROM {table}", Map.of("table", "my_table"));
spark.sql("SELECT * FROM {table}", Map.of("{table}", "my_table"));
spark.sql("SELECT * FROM :table", Map.of("table", "my_table"));
spark.sql("SELECT * FROM :table", Map.of(":table", "my_table"));
//These replace the parameter with an empty string
spark.sql("SELECT * FROM ${table}", Map.of("table", "my_table"));
spark.sql("SELECT * FROM ${table}", Map.of("${table}", "my_table"));
Итак, вкратце: какова окончательно правильная форма именованных параметров и как передать для них значения?
Подробнее здесь: https://stackoverflow.com/questions/787 ... on-in-java
Мобильная версия