Выбрать все, кроме определенного столбца в Spark SQL

Я хочу выбрать все столбцы в таблице, кроме StudentAddress, и поэтому я написал следующий запрос:

select `(StudentAddress)?+.+` from student;

Это дает следующую ошибку в Squirrel Sql клиенте. org.apache.spark.sql.AnalysisException: не удается разрешить '(StudentAddress)?+.+заданные входные столбцы

2 ответа

Решение

Вы можете использовать метод drop() в API DataFrame, чтобы удалить определенный столбец, а затем выбрать все столбцы.

Например:

val df = hiveContext.read.table("student")
val dfWithoutStudentAddress = df.drop("StudentAddress").select("*")

С использованием spark sqlпопробуй с

select * except(<columns to be excluded>) from tablename

Example:

      select * from tmp
#+----+----+----+----+
#|col1|col2|col3|col4|
#+----+----+----+----+
#|a   |b   |c   |d   |
#+----+----+----+----+


#exclude col1,col2
select * except(col1,col2) from table_name
#+----+----+
#|col3|col4|
#+----+----+
#|c   |d   |
#+----+----+
Другие вопросы по тегам