Я пытаюсь использовать Dask для ускорения функции, передаваемой через DataFrame - более подробную информацию c о том, что именно я делаю, можно найти здесь: Предыдущий вопрос .
* 1004 В любом случае, я использую cx_ Oracle для захвата данных в Python, и у меня никогда не было проблем с cx_ Oracle. Моя функция и Dask
.compute()
:
def unicodeHandle(datai):
for i, row in enumerate(datai['LDTEXT']):
print(i)
try:
text = row.read()
text.strip().split('[\W_]+')
print(text)
except UnicodeDecodeError as e:
datai.drop(i, inplace=True)
print('Error at index {}: {!r}'.format(i, row))
print(e)
return datai
partitions = 7 # cpu_cores - 1
ddf = dd.from_pandas(datai, npartitions=partitions)
print(ddf)
dask = ddf.map_partitions(lambda ddf: unicodeHandle(ddf), meta=pd.DataFrame).compute()
ddf
выглядит так, как должно. Однако, когда я запускаю dask = ddf.map_partitions
, я получаю:
File "<ipython-input-4-f8c37d88e1f6>", line 7, in unicodeHandle
text = row.read()
DatabaseError: DPI-1062: unexpected OCI return value 99 in function dpiLob_readBytes
В сети ничего не говорится об этой ошибке. Кто-нибудь чем вызывает эту ошибку? Или есть какая-нибудь документация? Самое большее, что я нашел, это настоящая строка кода на Github.
Это началось только тогда, когда я начал пытаться реализовать Dask, но, похоже, это скорее ошибка БД, чем ошибка Dask.