Попробуйте этот код, он отлично работает
назначает переменную 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'];
}
}
Я получил эту ошибку, запустив 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. Я видел, как другие сообщают об этом не помогли им.
Я получал ту же ошибку при создании кадров данных в 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, и она просто закончилась:)
Ошибка произошла из-за множества искровых оболочек, которые вы пытаетесь запустить в одном узле, или из-за сбоя системы, его закрытие без надлежащего выхода из искровой оболочки. По какой-либо причине вы просто обнаруживаете идентификатор процесса и убиваете их , для чего мы
[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
Я столкнулся с той же проблемой при создании таблицы.
sqlContext.sql("CREATE TABLE....
Я мог видеть много записей для ps -ef | grep spark-shell
, поэтому я убил их всех и перезапустил spark-shell
. Это сработало для меня.
Другим случаем, когда вы можете видеть ту же ошибку, является 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()
Если вы столкнулись с проблемой при подключении приложения WAS на машине Windows:
db.lck
файл, присутствующий в WebSphere\AppServer\profiles\AppSrv04\databases\EJBTimers\server1\EJBTimerDB
(Моя БД - EJBTimerDB, которая вызывала проблему). очень сложно найти, где ваш derby metastore_db имеет доступ другим потоком, если вы можете найти этот процесс, тогда вы можете убить его с помощью команды kill.
Лучшие решения для перезапуска системы.
Это произошло, когда я использовал 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.
Если вы работаете в искровой оболочке, вам не следует создавать экземпляр HiveContext, который создается автоматически с именем sqlContext
(имя вводит в заблуждение - если вы скомпилировали Spark с Hive, это будет HiveContext). См. Аналогичное обсуждение здесь .
Если вы не работаете в оболочке - это исключение означает, что вы создали более одного HiveContext в одной JVM, что кажется невозможным - вы можете создать только один.