Description
When running extended sql (both train task and predict task) under REPL mode, the following exception will be thrown out.
However the same sql can be done in cell of jupyter notebook.
Traceback (most recent call last):
File "<stdin>", line 89, in <module>
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/sqlflow_submitter/tensorflow/predict.py", line 112, in pred
one_batch = pred_dataset.__iter__().next()
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 623, in next
return self._next_internal()
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 615, in _next_internal
output_shapes=self._flat_output_shapes)
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/tensorflow/python/ops/gen_dataset_ops.py", line 2120, in iterator_get_next_sync
_six.raise_from(_core._status_to_exception(e.code, message), None)
File "<string>", line 3, in raise_from
tensorflow.python.framework.errors_impl.UnknownError: TPayloadMeta: TProtocolException(type=4)
Traceback (most recent call last):
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/tensorflow/python/ops/script_ops.py", line 209, in __call__
ret = func(*args)
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 525, in generator_py_func
values = next(generator_state.get_iterator(iterator_id))
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/sqlflow_submitter/db.py", line 159, in reader
cursor = conn.cursor(configuration=conn.session_cfg)
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/impala/hiveserver2.py", line 124, in cursor
session = self.service.open_session(user, configuration)
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/impala/hiveserver2.py", line 1057, in open_session
resp = self._rpc('OpenSession', req)
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/impala/hiveserver2.py", line 985, in _rpc
response = self._execute(func_name, request)
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/impala/hiveserver2.py", line 1002, in _execute
return func(request)
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/thriftpy2/thrift.py", line 219, in _req
return self._recv(_api)
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/thriftpy2/thrift.py", line 231, in _recv
fname, mtype, rseqid = self._iprot.read_message_begin()
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/thriftpy2/protocol/binary.py", line 372, in read_message_begin
self.trans, strict=self.strict_read)
File "/home/luban/miniconda/envs/sqlflow-dev-py36/lib/python3.6/site-packages/thriftpy2/protocol/binary.py", line 178, in read_message_begin
message='No protocol version header')
thriftpy2.protocol.exc.TProtocolException: TProtocolException(type=4) [[{{node PyFunc}}]] [Op:IteratorGetNextSync]
Relate SQL
TO Train
%%sqlflow
SELECT *
FROM notebook_dev.iris_train
TO TRAIN sqlflow_models.DNNClassifier
WITH
model.n_classes = 3,
model.hidden_units = [10,40],
train.epoch = 3,
train.batch_size = 64
COLUMN sepal_length, sepal_width, petal_length, petal_width
LABEL class
INTO notebook_dev.iris_dnn_model;
Make prediction
%%sqlflow
SELECT *
FROM notebook_dev.iris_test
TO PREDICT notebook_dev.iris_dnn_predict.class
USING notebook_dev.iris_dnn_model;
Description When running extended sql (both train task and predict task) under REPL mode, the following exception will be thrown out.
However the same sql can be done in cell of jupyter notebook.
Relate SQL TO Train
Make prediction
Standard SQL