2017-02-23 14 views
0

私はGCPのデータサイエンスでコードを実行しようとしており、Beamコードにエラーが発生しています。PythonのApache Beam、beam.io.TextFileSourceのエラー

これはエラーを与える行されます。 はAttributeError:: 'モジュール' をここで私が得ているエラーが beam.Read(beam.io.TextFileSource( 'airports.csv.gz')

ですオブジェクトは属性「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 nd pip freezeコマンドを繰り返します。あなたが古いバージョンを取得し続けるならば、あなたはPythonライブラリの地獄にいて、virtualenvを使ってすべてのパッケージの最新バージョンを使用していることを確認することをお勧めします...

+0

ありがとう、Lak。私が使用しているデータフローのバージョンが新しいです: google-cloud-dataflow == 0.5.5 ドキュメントでTextFileSourceメソッドが見つからないため、SDKが変更されている可能性があります。私は.gzファイルを抽出し、ReadFromTextメソッドを使用してみましたが、他のエラーが発生しました。私はvirtualenvをチェックアウトし、それを実行しようとします。 – Geoff

+0

私はgoogle-cloud-dataflow == 0.6.0とスクリプトdf03.pyも使用していません。新しいモジュールapache_beam.io.gcpを使用してコードをレビューするかどうか疑問に思っています –

+0

申し訳ありませんが、 beam.io.ReadFromTextしかし、私はいくつかの場所を逃したようだ。私はdf03.py df04.pyとdf06.pyに変更を加えてチェックインしました。今は正しく動作するはずです。 – Lak

1

Google DataflowはApache Beam standard apache_beam.io.textio.ReadFromTextを使用してください。標準はまだ進化していますので、パッケージをアップグレードするたびにRelease Notesと相談してください。

関連する問題