Не удалось загрузить модель pyspark.ml с помощью python-api-клиента livy и оболочки pysaprk [duplicate]

Попробуйте этот код, он отлично работает

назначает переменную post переменной

   $username = $_POST['uname'];

   $password = $_POST['pass'];

  $result = mysql_query('SELECT * FROM userData WHERE UserName LIKE $username');

if(!empty($result)){

    while($row = mysql_fetch_array($result)){
        echo $row['FirstName'];
     }
}
13
задан Aman 25 December 2015 в 19:56
поделиться

9 ответов

Я получил эту ошибку, запустив sqlContext._get_hive_ctx(). Это было вызвано изначальной попыткой загрузить конвейерный RDD в фреймворк данных. Я получил ошибку Exception: ("You must build Spark with Hive. Export 'SPARK_HIVE=true' and run build/sbt assembly", Py4JJavaError(u'An error occurred while calling None.org.apache.spark.sql.hive.HiveContext.\n', JavaObject id=o29)). Таким образом, вы можете запустить это перед восстановлением, но FYI. Я видел, как другие сообщают об этом не помогли им.

0
ответ дан convolutionBoy 4 September 2018 в 10:10
поделиться

Я получал ту же ошибку при создании кадров данных в Spark Shell:

Вызвано: ERROR XSDB6: Еще один экземпляр Derby, возможно, уже загрузил базу данных /metastore_db.

Причина:

Я обнаружил, что это происходит, поскольку уже было несколько других экземпляров Spark-Shell, уже запущенных и поддерживающих дерби DB, поэтому, когда я запускал еще одну Spark Shell и создавал Data Frame на ней с использованием RDD .toDF () была ошибка:

Решение:

Я запустил команду ps, чтобы найти другие экземпляры Spark-Shell:

ps -ef | grep spark-shell

, и я убил их всех с помощью команды kill:

kill -9 Spark-Shell-processID (пример: kill -9 4848)

после того, как все экземпляры SPark-Shell исчезли, я запустил новую SPark SHell и перезапустил функцию Data Frame, и она просто закончилась:)

20
ответ дан Dean Jain 4 September 2018 в 10:10
поделиться

Ошибка произошла из-за множества искровых оболочек, которые вы пытаетесь запустить в одном узле, или из-за сбоя системы, его закрытие без надлежащего выхода из искровой оболочки. По какой-либо причине вы просто обнаруживаете идентификатор процесса и убиваете их , для чего мы

[hadoop@localhost ~]$ ps -ef | grep spark-shell
hadoop    11121   9197  0 17:54 pts/0    00:00:00 grep --color=auto spark-shell
[hadoop@localhost ~]$ kill 9197
0
ответ дан Jozef Dúc 4 September 2018 в 10:10
поделиться

Я столкнулся с той же проблемой при создании таблицы.

sqlContext.sql("CREATE TABLE....

Я мог видеть много записей для ps -ef | grep spark-shell, поэтому я убил их всех и перезапустил spark-shell. Это сработало для меня.

2
ответ дан Martin Evans 4 September 2018 в 10:10
поделиться

Другим случаем, когда вы можете видеть ту же ошибку, является Spark REPL конечной точки AWS Glue dev, когда вы пытаетесь преобразовать динамический кадр в фрейм данных.

На самом деле существует несколько разных исключений, таких как: :

  • pyspark.sql.utils.IllegalArgumentException: u"Error while instantiating 'org.apache.spark.sql.hive.HiveSessionState':"
  • ERROR XSDB6: Another instance of Derby may have already booted the database /home/glue/metastore_db.
  • java.sql.SQLException: Failed to start database 'metastore_db' with class loader org.apache.spark.sql.hive.client.IsolatedClientLoader

Решение сложно

Загруженный REPL содержит экземпляр SparkSession в переменной spark, и вам просто нужно остановить его перед созданием нового SparkContext:

>>> spark.stop()
>>> from pyspark.context import SparkContext
>>> from awsglue.context import GlueContext
>>>
>>> glue_context = GlueContext(SparkContext.getOrCreate())
>>> glue_frame = glue_context.create_dynamic_frame.from_catalog(database=DB_NAME, table_name=T_NAME)
>>> df = glue_frame.toDF()
2
ответ дан newtover 4 September 2018 в 10:10
поделиться

Если вы столкнулись с проблемой при подключении приложения WAS на машине Windows:

  1. убить java-процессы с помощью диспетчера задач
  2. удалить db.lck файл, присутствующий в WebSphere\AppServer\profiles\AppSrv04\databases\EJBTimers\server1\EJBTimerDB (Моя БД - EJBTimerDB, которая вызывала проблему).
  3. перезапустить приложение.
1
ответ дан Sandy Gifford 4 September 2018 в 10:10
поделиться

очень сложно найти, где ваш derby metastore_db имеет доступ другим потоком, если вы можете найти этот процесс, тогда вы можете убить его с помощью команды kill.

Лучшие решения для перезапуска системы.

-1
ответ дан Shyam Gupta 4 September 2018 в 10:10
поделиться

Это произошло, когда я использовал pyspark ml Word2Vec. Я пытался загрузить ранее построенную модель. Trick, просто создайте пустой фрейм данных pyspark или scala с помощью sqlContext. Ниже приведен синтаксис python -

from pyspark.sql.types import StructType

schema = StructType([])`
empty = sqlContext.createDataFrame(sc.emptyRDD(), schema)

Это обходное решение. Моя проблема исправлена ​​после использования этого блока. Примечание. Это происходит только при создании экземпляра sqlContext из HiveContext, а не SQLContext.

1
ответ дан Subhojit Mukherjee 4 September 2018 в 10:10
поделиться

Если вы работаете в искровой оболочке, вам не следует создавать экземпляр HiveContext, который создается автоматически с именем sqlContext (имя вводит в заблуждение - если вы скомпилировали Spark с Hive, это будет HiveContext). См. Аналогичное обсуждение здесь .

Если вы не работаете в оболочке - это исключение означает, что вы создали более одного HiveContext в одной JVM, что кажется невозможным - вы можете создать только один.

13
ответ дан Tzach Zohar 4 September 2018 в 10:10
поделиться
Другие вопросы по тегам:

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