nebula-up icon indicating copy to clipboard operation
nebula-up copied to clipboard

spark/AI_suite_demo.ipynb, wrong?

Open jiagh2010 opened this issue 2 months ago • 0 comments

when

from ng_ai import NebulaReader from ng_ai.config import NebulaGraphConfig

read data with spark engine, scan mode

ensure the "demo_basketballplayer" was created in NebulaGraph studio

config = NebulaGraphConfig(space="demo_basketballplayer") reader = NebulaReader(engine="spark", config=config) reader.scan(edge="follow", props="degree") df = reader.read() df.show(2)


Py4JJavaError Traceback (most recent call last) /tmp/ipykernel_907/3158679048.py in 9 reader = NebulaReader(engine="spark", config=config) 10 reader.scan(edge="follow", props="degree") ---> 11 df = reader.read() 12 df.show(2)

/usr/lib/python3.7/site-packages/ng_ai/nebula_reader.py in read(self, **kwargs) 221 if self.raw_df_reader is None: 222 raise Exception("No data loaded, please use scan or query first") --> 223 self.raw_df = self.raw_df_reader.load() 224 self.df = NebulaDataFrameObject(engine=self.engine, data=self.raw_df) 225 return self.df

/spark/python/pyspark/sql/readwriter.py in load(self, path, format, schema, **options) 170 return self._df(self._jreader.load(self._spark._sc._jvm.PythonUtils.toSeq(path))) 171 else: --> 172 return self._df(self._jreader.load()) 173 174 @since(1.4)

/spark/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py in call(self, *args) 1255 answer = self.gateway_client.send_command(command) 1256 return_value = get_return_value( -> 1257 answer, self.gateway_client, self.target_id, self.name) 1258 1259 for temp_arg in temp_args:

/spark/python/pyspark/sql/utils.py in deco(*a, **kw) 61 def deco(*a, **kw): 62 try: ---> 63 return f(*a, **kw) 64 except py4j.protocol.Py4JJavaError as e: 65 s = e.java_exception.toString()

/spark/python/lib/py4j-0.10.7-src.zip/py4j/protocol.py in get_return_value(answer, gateway_client, target_id, name) 326 raise Py4JJavaError( 327 "An error occurred while calling {0}{1}{2}.\n". --> 328 format(target_id, ".", name), value) 329 else: 330 raise Py4JError(

Py4JJavaError: An error occurred while calling o55.load. : java.util.NoSuchElementException: key not found: operateType at scala.collection.MapLike$class.default(MapLike.scala:228) at org.apache.spark.sql.catalyst.util.CaseInsensitiveMap.default(CaseInsensitiveMap.scala:28) at scala.collection.MapLike$class.apply(MapLike.scala:141) at org.apache.spark.sql.catalyst.util.CaseInsensitiveMap.apply(CaseInsensitiveMap.scala:28) at com.vesoft.nebula.connector.NebulaOptions.(NebulaOptions.scala:38) at com.vesoft.nebula.connector.NebulaDataSource.getNebulaOptions(NebulaDataSource.scala:148) at com.vesoft.nebula.connector.NebulaDataSource.createReader(NebulaDataSource.scala:45) at org.apache.spark.sql.execution.datasources.v2.DataSourceV2Relation$SourceHelpers.createReader(DataSourceV2Relation.scala:155) at org.apache.spark.sql.execution.datasources.v2.DataSourceV2Relation$.create(DataSourceV2Relation.scala:172) at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:204) at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:167) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244) at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357) at py4j.Gateway.invoke(Gateway.java:282) at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) at py4j.commands.CallCommand.execute(CallCommand.java:79) at py4j.GatewayConnection.run(GatewayConnection.java:238)

jiagh2010 avatar Apr 24 '24 10:04 jiagh2010