Dask dataframe.read_csv некорректно работает с CSV-файлом hdfs - PullRequest
0 голосов
/ 21 июня 2019

Я хочу прочитать данные в формате csv с сервера hdfs, но он выдает исключение, как показано ниже:

    hdfsSeek(desiredPos=64000000): FSDataInputStream#seek error:
    java.io.EOFException: Cannot seek after EOF
    at 
    org.apache.hadoop.hdfs.DFSInputStream.seek(DFSInputStream.java:1602)
    at 
    org.apache.hadoop.fs.FSDataInputStream.seek(FSDataInputStream.java:65)

Мой код Python:

from dask import dataframe as dd
df = dd.read_csv('hdfs://SER/htmpa/a.csv').head(n=3)

CSV-файл:

    user_id,item_id,play_count
    0,0,500
    0,1,3
    0,3,1
    1,0,4
    1,3,1
    2,0,1
    2,1,1
    2,3,5
    3,0,1
    3,3,4
    4,1,1
    4,2,8
    4,3,4

1 Ответ

0 голосов
/ 24 июня 2019

Работаете ли вы в IDE или ноутбуке Jupyter?
Мы работаем с дистрибутивом Cloudera и также получаем аналогичную ошибку.Из того, что мы понимаем, это связано не с dask, а с нашей hadoop конфигурацией.
В любом случае мы успешно используем библиотеку pyarrow при доступе к hdfs.Имейте в виду, что если вам нужен доступ к parquet файлам, запущенным с версией 0.12, а не 0.13 , см. обсуждение на github
Обновление
pyarrow версия 0.14 отсутствует и должен решить проблему.

...