2016-01-12 1 views
0

Есть ли ограничение на формат имен таблиц temp, разрешенных в Spark SQL? Я спрашиваю, потому что, когда я использую:Ограничения формата имен Spark SQL temp?

json_RDD.registerTempTable("tweet_data") 
trends_data=hiveCtx.sql("SELECT * FROM tweet_data") 

я получил следующее исключение:

/opt/spark-1.4.1/python/lib/py4j-0.8.2.1-src.zip/py4j/protocol.py in get_return_value(answer, gateway_client, target_id, name) 
298     raise Py4JJavaError(
299      'An error occurred while calling {0}{1}{2}.\n'. 

, но когда я использовал

json_RDD.registerTempTable("tweets") 
trends_data=hiveCtx.sql("SELECT * FROM tweets") 

он работал отлично. Я использую PySpark, а версия Spark - 1.4.1

ответ

1

Я только что повторил ваш пример в Scala (Spark 1.6) и не сталкивался с какой-либо ошибкой в ​​обоих случаях.

Единственное ограничение на имя таблицы - это точка. Если в названии таблицы есть точки (.) В ней, укажите имя таблицы с обратными окнами (`).

уточните here для получения более подробной информации.

+0

Хорошо, возможно, проблема заключается только в PySpark или в том, что я использую Spark 1.4.1. Я обновлю и посмотрю, решит ли это проблему. – femibyte

+0

Это не похоже на проблему, связанную с Python. Когда мы читаем код, они упоминают, что «Нельзя указывать имя базы данных для временных таблиц», может быть, у вас есть база данных с именем tweet_data? – Rami

Смежные вопросы