2017-02-23 4 views
0

GCP의 Data Science에서 코드를 실행하고 Beam 코드에 오류가 계속 발생하려고합니다. beam.Read (beam.io.TextFileSource ('airports.csv.gz')Python의 Apache Beam, beam.io.TextFileSource의 오류

여기에 내가지고있어 오류 발생 : AttributeError은 '모듈'

오류를주는 라인 개체가 어떤 속성 'TextFileSource'

여기에 전체 파일의이 없습니다 : https://github.com/GoogleCloudPlatform/data-science-on-gcp/blob/master/04_streaming/simulate/df01.py

는 사람이 작업을 얻는 방법을 알고 있나요, 아니면 내가 무엇을 누락을

답변

0

이전 버전의 apache-beam/cloud-dataflow를 사용하고있는 것으로 보입니다.

마 : 나는이 작업을 수행 할 때

pip freeze | grep dataflow

, 내가 얻을 : google-cloud-dataflow==0.4.3

당신이 얻을 버전이 오래된 경우

이 시도 :

pip install google-cloud-dataflow

a pip freeze 명령을 반복하십시오. 이전 버전을 계속 사용하고 있다면 파이썬 라이브러리 지옥에 있고 모든 패키지의 최신 버전을 사용하고 있는지 확인하기 위해 virtualenv를 사용하는 것이 좋습니다 ...

+0

감사합니다. Lak. 사용중인 데이터 흐름 버전이 최신 버전입니다. google-cloud-dataflow == 0.5.5 문서에서 TextFileSource 메소드를 찾을 수 없어 SDK가 변경되었을 수 있습니다. .gz 파일을 추출하고 ReadFromText 메서드를 사용했지만 다른 오류가 발생했습니다. 나는 virtualenv를 체크 아웃하고 실행 해 보겠습니다. – Geoff

+0

또한 google-cloud-dataflow == 0.6.0을 사용하고 df03.py 스크립트가 실패했습니다. Lan이 새 모듈 apache_beam.io.gcp와 함께 코드를 검토하는지 궁금합니다 –

+0

죄송합니다. 사용할 코드를 변경했습니다. beam.io.ReadFromText하지만 몇 군데 놓친 것 같습니다. df03.py df04.py 및 df06.py를 변경하고 체크인했습니다. 이제 제대로 작동합니다. – Lak

1

Google Dataflow는 Apache Beam 표준으로 마이그레이션합니다. apache_beam.io.textio.ReadFromText을 사용해야합니다. 표준은 계속 진화하고 있으므로 패키지를 업그레이드 할 때마다 Release Notes에 문의하는 것이 가장 좋습니다.

관련 문제