locationtech-labs / geopyspark

GeoTrellis for PySpark
Other
179 stars 59 forks source link

ClassCastException in geopyspark.query on hbase #709

Closed zhangyanan1992 closed 5 years ago

zhangyanan1992 commented 5 years ago

Run this command from the terminal: docker run -it --rm --name geopyspark -p 8000:8000 quay.io/geodocker/jupyter-geopyspark:blog

Run this command in the geonotebook: querried_layer_value = gps.read_value("hbase://10.1.100.70:2181?attributes=attrTable-TIME-LAT-ATL-JIK&layers=dataTable-TIME-LAT-ATL-JIK","20190517053000", 0, 0, 0)

Py4JJavaError Traceback (most recent call last): /home/hadoop/.local/lib/python3.4/site-packages/geopyspark/geotrellis/catalog.py in read_value(uri, layer_name, layer_zoom, col, row, zdt, store) 77 78 reader = ValueReader(uri, layer_name, layer_zoom, store) ---> 79 return reader.read(col, row, zdt) 80 81

/home/hadoop/.local/lib/python3.4/site-packages/geopyspark/geotrellis/catalog.py in read(self, col, row, zdt, zoom) 125 zdt = zdt.replace(tzinfo=pytz.utc).isoformat() 126 --> 127 value = self.wrapper.readTile(self.layer_name, zoom, col, row, zdt) 128 return value and multibandtile_decoder(value) 129

/usr/local/spark-2.1.0-bin-hadoop2.7/python/lib/py4j-0.10.4-src.zip/py4j/java_gateway.py in call(self, *args) 1131 answer = self.gateway_client.send_command(command) 1132 return_value = get_return_value( -> 1133 answer, self.gateway_client, self.target_id, self.name) 1134 1135 for temp_arg in temp_args:

/usr/local/spark-2.1.0-bin-hadoop2.7/python/lib/py4j-0.10.4-src.zip/py4j/protocol.py in get_return_value(answer, gateway_client, target_id, name) 317 raise Py4JJavaError( 318 "An error occurred while calling {0}{1}{2}.\n". --> 319 format(target_id, ".", name), value) 320 else: 321 raise Py4JError(

Py4JJavaError: An error occurred while calling o63.readTile. : java.lang.ClassCastException: geotrellis.spark.io.LayerHeader$LayeHeaderFormat$$anon$1 cannot be cast to geotrellis.spark.io.hbase.HBaseLayerHeader at geotrellis.spark.io.hbase.HBaseValueReader$$anon$1.(HBaseValueReader.scala:35) at geotrellis.spark.io.hbase.HBaseValueReader.reader(HBaseValueReader.scala:34) at geotrellis.spark.io.hbase.HBaseValueReader.reader(HBaseValueReader.scala:29) at geopyspark.geotrellis.io.ValueReaderWrapper.readTile(ValueReaderWrapper.scala:72) 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:280) at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) at py4j.commands.CallCommand.execute(CallCommand.java:79) at py4j.GatewayConnection.run(GatewayConnection.java:214) at java.lang.Thread.run(Thread.java:748)