Ограничения формата имен временных таблиц Spark SQL?

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

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.


person femibyte    schedule 12.01.2016    source источник


Ответы (1)


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

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

проверьте здесь для более подробной информации.

person Rami    schedule 12.01.2016
comment
Хорошо, возможно, проблема только в PySpark или в том, что я использую Spark 1.4.1. Я обновлю и посмотрю, решит ли это проблему. - person femibyte; 12.01.2016
comment
Это не похоже на проблему, связанную с Python. Когда мы читаем код, они упоминают, что нельзя указывать имя базы данных для временных таблиц, может быть, у вас есть база данных с именем tweet_data? - person Rami; 12.01.2016