I have a database that has many columns which are of fixed encoding datatype. When I try to use
query = 'Select * from Table'`
df = con.select_ipc_gpu(query)`
---------------------------------------------------------------------------
TTransportException Traceback (most recent call last)
<ipython-input-23-9322698f472e> in <module>()
1 t0 =time.time()
----> 2 df = con.select_ipc_gpu(query)
3 tf = time.time()
4
5 print('time taken to create pygdf dataframe: ', tf-t0)
/home/appuser/.conda/envs/pycudf_notebook_py35/lib/python3.5/site-packages/pymapd-0.3.0-py3.5-linux-x86_64.egg/pymapd/connection.py in select_ipc_gpu(self, operation, parameters, device_id, first_n)
264
265 tdf = self._client.sql_execute_gdf(
--> 266 self._session, operation, device_id=device_id, first_n=first_n)
267 return _parse_tdf_gpu(tdf)
268
/home/appuser/.conda/envs/pycudf_notebook_py35/lib/python3.5/site-packages/pymapd-0.3.0-py3.5-linux-x86_64.egg/mapd/MapD.py in sql_execute_gdf(self, session, query, device_id, first_n)
1109 """
1110 self.send_sql_execute_gdf(session, query, device_id, first_n)
-> 1111 return self.recv_sql_execute_gdf()
1112
1113 def send_sql_execute_gdf(self, session, query, device_id, first_n):
/home/appuser/.conda/envs/pycudf_notebook_py35/lib/python3.5/site-packages/pymapd-0.3.0-py3.5-linux-x86_64.egg/mapd/MapD.py in recv_sql_execute_gdf(self)
1124 def recv_sql_execute_gdf(self):
1125 iprot = self._iprot
-> 1126 (fname, mtype, rseqid) = iprot.readMessageBegin()
1127 if mtype == TMessageType.EXCEPTION:
1128 x = TApplicationException()
/home/appuser/.conda/envs/pycudf_notebook_py35/lib/python3.5/site-packages/thrift/protocol/TBinaryProtocol.py in readMessageBegin(self)
132
133 def readMessageBegin(self):
--> 134 sz = self.readI32()
135 if sz < 0:
136 version = sz & TBinaryProtocol.VERSION_MASK
/home/appuser/.conda/envs/pycudf_notebook_py35/lib/python3.5/site-packages/thrift/protocol/TBinaryProtocol.py in readI32(self)
215
216 def readI32(self):
--> 217 buff = self.trans.readAll(4)
218 val, = unpack('!i', buff)
219 return val
/home/appuser/.conda/envs/pycudf_notebook_py35/lib/python3.5/site-packages/thrift/transport/TTransport.py in readAll(self, sz)
58 have = 0
59 while (have < sz):
---> 60 chunk = self.read(sz - have)
61 have += len(chunk)
62 buff += chunk
/home/appuser/.conda/envs/pycudf_notebook_py35/lib/python3.5/site-packages/thrift/transport/TTransport.py in read(self, sz)
159 if len(ret) != 0:
160 return ret
--> 161 self.__rbuf = BufferIO(self.__trans.read(max(sz, self.__rbuf_size)))
162 return self.__rbuf.read(sz)
163
/home/appuser/.conda/envs/pycudf_notebook_py35/lib/python3.5/site-packages/thrift/transport/TSocket.py in read(self, sz)
130 if len(buff) == 0:
131 raise TTransportException(type=TTransportException.END_OF_FILE,
--> 132 message='TSocket read 0 bytes')
133 return buff
134
TTransportException: TSocket read 0 bytes
However, if I change the query to only columns which are not fixed encoded, this works.
Is there a way for me to use pymapd to make a pygdf dataframe without having to change the datatypes in my table?