ClouderaクイックスタートドッカーコンテナでPython Spark(v 1.6.0)から始まります。 静的 .txtファイル(500 mb)を、succesを含む/user/root/access_log.txtのhdfsに入れます。 pysparkでPyspark sc.textFile()がファイルを完全にロードしない
私はPythonコードのTE次の行を含むファイルをロードしよう:
lines = sc.textFile("hdfs://quickstart.cloudera/user/root/access_log.txt")
これは私にエラーを与えません。しかし、ファイルが完全にロードされていないことがわかりました。 HDFSは、実際に正しいファイルサイズを持っていながらも ..
lines.max()
はないファイルの正しい最後の要素を提供します。
これはメモリの問題ですか?私のドッカーの設定は3840 MBに設定されています。 これを修正する方法がわかりません。私はあなたの答えを楽しみにしています。
編集:私は私のデータセット内の要素を数え
:
lines.count()
し、私の驚きに、それは正しかったです!これは、私のファイルが正しくロードされたことを意味するはずです。しかし、依然として、.max()ステートメントが正しい要素を返さない理由が依然として残っています。
これは、さまざまなタスクと何か関係がありますか?
編集2: 一般max
に
10.190.174.142 - - [03/Dec/2011:13:28:10 -0800] "GET /images/filmpics/0000/2229/GOEMON-NUKI-000163.jpg HTTP/1.1" 200 184976
10.190.174.142 - - [03/Dec/2011:13:28:11 -0800] "GET /images/filmmediablock/360/GOEMON-NUKI-000163.jpg HTTP/1.1" 200 60117
10.190.174.142 - - [03/Dec/2011:13:28:10 -0800] "GET /images/filmmediablock/360/Chacha.jpg HTTP/1.1" 200 109379
10.190.174.142 - - [03/Dec/2011:13:28:11 -0800] "GET /images/filmmediablock/360/GOEMON-NUKI-000159.jpg HTTP/1.1" 200 161657
こんにちは、マイク、ファイルが静的である:
またはパーティションの数が多い場合
?通常のログファイルは、通常、最新のイベントで更新し続けます。これは、読み取り値がログと一致しない理由です。 –良い質問ですが、ファイルは静的です:) –