Искровой эквивалент функции postgres json ->

#apache-spark #apache-spark-sql

Вопрос:

Я пытаюсь запросить поле json из Spark, чтобы узнать, установлен ли для одного элемента значение true.

Содержимое моих параметров поля json выглядит следующим образом: "match_tax_type"=>"true", "sales_tax_enabled"=>"true", …

В postgres я могу оценить json следующим образом where (options -> 'sales_tax_enabled') = 'true'

Есть ли эквивалентная функция в Spark?

Ответ №1:

Вы можете использовать функцию get_json_object

В этом случае у вас будет что-то вроде:

.where(get_json_object(col("json"), "$.key") === "true")

Ссылки: https://spark.apache.org/docs/latest/api/java/org/apache/spark/sql/functions.html#get_json_object-org.apache.spark.sql.Column-java.lang.Строка-

https://sparkbyexamples.com/spark/spark-most-used-json-functions-with-examples/#get_json_object