我正在尝试使用pyspark中的超空间创建索引。但我得到了这个错误
sample_data = [(1, "name1"), (2, "name2")]
spark.createDataFrame(sample_data, ['id','name']).write.mode("overwrite").parquet("table")
df = spark.read.parquet("table")
from hyperspace import *
# Create an instance of Hyperspace
hyperspace = Hyperspace(spark)
hs.createIndex(df, IndexConfig("index", ["id"], ["name"]))
java.lang.classcastexception:org.apache.spark.sql.execution.datasources.serializablefilestatus不能强制转换为org.apache.hadoop.fs.filestatus
我运行在azure databricks环境-spark 3.0.0 scala 2.12上
当我尝试在spark 2.4.2 scala 2.12或scala 2.11上执行相同的操作时,我在同一个函数(createindex)中得到错误,这里我得到以下错误-
.py4jjavaerror:调用none.com.microsoft.hyperspace.index.indexconfig时出错:java.lang.noclassdeffounderror:
有人能提出一些解决办法吗。
1条答案
按热度按时间ef1yzkbh1#
根据https://github.com/microsoft/hyperspace/discussions/285,这是databricks运行时的一个已知问题。
如果您使用开源spark,它应该可以工作。
与databricks团队寻求解决方案。