복붙노트

[HADOOP] csv 파일에서 hdfs의 데이터 프레임으로 읽기

HADOOP

csv 파일에서 hdfs의 데이터 프레임으로 읽기

hdfs에서 파일을 읽을 때 pydoop을 사용하고 있는데, 다음과 같이 사용합니다.

import pydoop.hdfs as hd
with hd.open("/home/file.csv") as f:
    print f.read()

그것은 stdout에있는 파일을 보여줍니다.

이 파일에서 데이터 프레임으로 읽을 수있는 방법이 있습니까? 나는 팬더 'read_csv ( "/ home / file.csv")를 사용해 보았지만 파일을 찾을 수 없다고 알려줍니다. 정확한 코드와 오류는 다음과 같습니다.

>>> import pandas as pd
>>> pd.read_csv("/home/file.csv")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/site-packages/pandas/io/parsers.py", line 498, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/usr/lib64/python2.7/site-packages/pandas/io/parsers.py", line 275, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)
  File "/usr/lib64/python2.7/site-packages/pandas/io/parsers.py", line 590, in __init__
    self._make_engine(self.engine)
  File "/usr/lib64/python2.7/site-packages/pandas/io/parsers.py", line 731, in _make_engine
    self._engine = CParserWrapper(self.f, **self.options)
  File "/usr/lib64/python2.7/site-packages/pandas/io/parsers.py", line 1103, in __init__
    self._reader = _parser.TextReader(src, **kwds)
  File "pandas/parser.pyx", line 353, in pandas.parser.TextReader.__cinit__ (pandas/parser.c:3246)
  File "pandas/parser.pyx", line 591, in pandas.parser.TextReader._setup_parser_source (pandas/parser.c:6111)
IOError: File /home/file.csv does not exist

해결법

  1. ==============================

    1.나는 hdfs에 관해서 다음에 아무것도 안다. 그러나 다음과 같은 것이 작동하는지 궁금하다.

    나는 hdfs에 관해서 다음에 아무것도 안다. 그러나 다음과 같은 것이 작동하는지 궁금하다.

    with hd.open("/home/file.csv") as f:
        df =  pd.read_csv(f)
    

    나는 read_csv가 파일 핸들과 함께 작동한다고 가정한다. 또는 실제로 iterable은 그것을 줄 것이다. 나는 감칠맛 나는 csv 독자가 알아.

    pd.read_csv ( "/ home / file.csv")는 일반 Python 파일 열기가 작동하는 경우 작동합니다. 즉 파일을 일반 로컬 파일로 읽습니다.

    with open("/home/file.csv") as f: 
        print f.read()
    

    그러나 분명히 hd.open은 다른 위치 나 프로토콜을 사용하고 있기 때문에 파일이 로컬이 아닙니다. 내 제안이 작동하지 않으면 hdfs 문서를 더 파헤쳐 야합니다.

  2. from https://stackoverflow.com/questions/35642020/reading-in-csv-file-as-dataframe-from-hdfs by cc-by-sa and MIT license