Che*_* Wu 3 indexing apache-spark-sql
我知道Spark Sql与Hive几乎相同。
现在,我已经创建了一个表,并且在执行Spark sql查询以创建表索引时,它总是给我这个错误:
SQL语句中的错误:AnalysisException:输入索引不匹配”期望AS在创建索引语句中靠近')'
我正在使用的Spark sql查询是:
CREATE INDEX word_idx ON TABLE t (id)
Run Code Online (Sandbox Code Playgroud)
id的数据类型为bigint。在此之前,我还尝试在此表的“ word”列上创建表索引,它给了我同样的错误。
那么,是否有通过Spark sql查询创建索引的方法呢?
实际上,无法通过Spark SQL查询来执行此操作。但是有一个RDD叫做的函数zipWithIndex。您可以将转换DataFrame为RDD,执行zipWithIndex,然后将结果转换RDD回DataFrame。
有关完善的解决方案,请参见此社区Wiki文章。
另一种方法是使用 Spark MLLib字符串索引器。