Как использовать createDataFrame и createDF на spark-shell - PullRequest
1 голос
/ 02 октября 2019

Есть хорошие примеры его использования, как здесь , но для spark-shell "... createDF не является членом org.apache.spark.sql.SparkSession" .

PS: с использованием Spark v2.2.


РЕДАКТИРОВАТЬ: извините все, это внешняя библиотека. Небольшое изменение в вопросе: как импортировать библиотеку Github в сеансе Spark-shell?

1 Ответ

1 голос
/ 02 октября 2019

createDF () не является методом SparkSession. Это метод спарк-дарья. Вам нужно установить зависимость и импортировать библиотеку spark-daria, которую вы сможете использовать. Ниже приведена статья для справки.

https://medium.com/@mrpowers/manually-creating-spark-dataframes-b14dae906393


Как импортировать библиотеку Github в сеансе Spark-shell?

Выможете использовать этот псевдоним с вашим соответствующим « etc » в значении properties-file.

alias sshell_daria='export SPARK_MAJOR_VERSION=2; spark-shell --packages mrpowers:spark-daria:0.35.0-s_2.11 --properties-file /opt/_etc_/_etc2_/conf/sparkShell.conf'

, но, это не всегда работает нормально, Spark-shell перестает работать после этого сообщения

SPARK_MAJOR_VERSION is set to 2, using Spark2
Ivy Default Cache set to: /home/_etc_/.ivy2/cache
The jars for the packages stored in: /home/_etc_/.ivy2/jars
:: loading settings :: url = jar:file:/usr/hdp/2.6.4.0-91/spark2/jars/ivy-2.4.0.jar!/org/apache/ivy/core/settings/ivysettings.mrpowers#spark-daria added as a dependency
:: resolving dependencies :: org.apache.spark#spark-submit-parent;1.0
        confs: [default]

Вы можете загрузить текущую версию в виде файла jar на dl.bintray.com и опции --jars вместо packages. Таким образом, правильный псевдоним в этом случае

alias sshell_daria='export SPARK_MAJOR_VERSION=2; spark-shell --jars _your_path_/spark-daria-0.35.0-s_2.12.jar  --properties-file /opt/_etc_/_etc2_/conf/sparkShell.conf'
...