2015-08-21 5 views
5

У нас есть экземпляр Spark 1.2.0, который мы можем запустить командой show tables like 'tmp*';, используя beeline, подключенную к порту бережливого сервера, без проблем. Мы тестируем вещи против Спарка 1.4.0 на ту же машину, но когда мы запускаем ту же команду на Спарке 1.4.0, мы получим следующее сообщение об ошибке:`show tables like '*' не работает в Spark SQL 1.3.0+

0: jdbc:hive2://localhost:10001> show tables like 'tmp*'; 
Error: java.lang.RuntimeException: [1.13] failure: ``in'' expected but identifier like found 

show tables like 'tmp*' 
      ^(state=,code=0) 
0: jdbc:hive2://localhost:10001> 

Я снесен Спарк 1.3.0 на этом и он дает ту же ошибку, что и выше, при запуске show tables like 'tmp*'.

Кто-нибудь знает, есть ли подобная команда в Spark SQL 1.3.0+, которая позволит использовать wild cards для возврата таблиц с заданным шаблоном?

Это было сделано на машине с CDH 5.3.0. Версия для улья - Hive 0.13.1-cdh5.3.0, если это имеет значение.

ответ

3

Вы можете использовать следующую команду на Спарк-SQL оболочки

sqlContext.tables().filter("tableName LIKE '%tmp%'").collect() 
+0

Благодаря @ нового кодера, но в том, что 'beeline' синтаксис? Похоже, что команда запускается из 'spark-shell'. – DougDuncan

+0

Да, это для Spark-SQL. Если возможно, вы можете предложить мне одну из моих проблем с Spark-sql? Вот ссылка [link] (http://stackoverflow.com/questions/35531315/null-pointer-with-streaming-rdd-to-spark-sql-data-frame-conversion). Дайте мне знать, что вы думаете. Спасибо. –

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