динамический запрос sql sql [дубликат]

Добавляем к большому ответу DroidBender. Его решение не падает на API 21, поэтому его все еще можно использовать даже без добавления кода Build.VERSION.SDK_INT. Так выглядит решение API 21 (с использованием высоты текста в качестве параметра размера).

И так выглядит API 23+

Это по-прежнему очень хороший вариант, даже если min API & lt; 23.

0
задан ale 25 April 2017 в 17:36
поделиться

1 ответ

Невозможно получить доступ к:

  • структурам распределенных данных (например, Dataset или RDD).
  • SparkConext / SparkSession

из задачи Spark (преобразование, udf). Вот почему вы получаете NPE.

2
ответ дан user7920791 20 August 2018 в 12:28
поделиться
  • 1
    Не существует другого способа сделать это? – Mounir Hamdane 25 April 2017 в 17:04
  • 2
    @MounirHamdane сделать что ? Вы можете вызывать метод из UDF (за ваш заголовок), проблема заключается в содержании вашего метода - GenerateloginPersone, кажется, вызывает Dataset.printSchema - что вы не можете сделать. Поскольку мы не можем видеть реализацию GenerateloginPersone, мы не можем больше представить, как это можно или нужно реализовать, - мы не знаем, что он делает. Итак, суммируем: да, вы можете вызывать методы из UDF; Но эти методы не могут пытаться использовать SparkContext / SparkSession или все, что использует их (например, Dataset / RDD). – Tzach Zohar 25 April 2017 в 17:09
  • 3
    Да, точно я могу использовать внутри метода, но не передавать ему аргумент dataframe – Mounir Hamdane 25 April 2017 в 17:17
Другие вопросы по тегам:

Похожие вопросы: