Reputation: 4074
I know Spark Sql is almost same as Hive.
Now I have created a table and when I am doing Spark sql query to create the table index, it always gives me this error:
Error in SQL statement: AnalysisException: mismatched input '' expecting AS near ')' in create index statement
The Spark sql query I am using is:
CREATE INDEX word_idx ON TABLE t (id)
The data type of id is bigint. Before this, I have also tried to create table index on "word" column of this table, it gave me the same error.
So, is there anyway to create index through Spark sql query?
Upvotes: 4
Views: 19065
Reputation: 13927
There's no way to do this through a Spark SQL query, really. But there's an RDD
function called zipWithIndex
. You can convert the DataFrame
to an RDD
, do zipWithIndex
, and convert the resulting RDD
back to a DataFrame
.
See this community Wiki article for a full-blown solution.
Another approach could be to use the Spark MLLib String Indexer.
Upvotes: 5