問題タブ [apache-crunch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
207 参照

hadoop - How does Apache Crunch PTable collectValues work internally

I was going through some documentations related to HDFS architecture and Apache crunch PTable. Based on my understandings, when we generate PTable the data is internally stored across the Data nodes in HDFS.

This means, if I have PTable with <K1,V1>,<K2,V2>,<K1,V3>,<K3,V4>,<K2,V5> and two Data nodes D1 and D2 in HDFS. Let's say each data node has a capacity to hold 3 pairs. So D1 will hold <K1,V1>,<K2,V2>,<K1,V3> and D2 will hold <K3,V4>,<K2,V5>.

If I do collectValues on this PTable, I am internally running another map-reduce job to get these values from PTable and generate pairs of <K,Collection<V>>. So at the end I will have, <K1,Collection<V1,V3>>, <K2,Collection<V2,V5>> and <K3,Collection<V4>>. And again these pairs will be distributed to different data nodes.

Now, I have this doubt that how will the Collection values (V1,V3 of K1) be stored in the generated PTable? Will this data be distributed across the nodes too, i.e., will

  • V1 be stored in D1

  • V3 be stored in D2

or, V1 and V3 will stored in one node only.

If all the collection values for a key are stored in one node (not-distributed), then for large data sets, won't the processing on the collected values of each key become slow?

0 投票する
1 に答える
338 参照

java - crunch MemPipeline を使用した書き込み時の java.lang.UnsatisfiedLinkError

私は com.cloudera.crunch バージョン: '0.3.0-3-cdh-5.2.1' を使用しています。

いくつかの AVRO を読み取り、いくつかの基準に基づいて無効なデータを除外する小さなプログラムがあります。無効なデータ出力を書き込むために、pipeline.write(PCollection, AvroFileTarget) を使用しています。本番稼働では問題なく動作します。

このコードの単体テストには、MemPipeline インスタンスを使用します。ただし、その場合、出力の書き込み中に失敗します。

エラーが発生します:

何が問題なのですか?

0 投票する
1 に答える
229 参照

hadoop - 「ストリーミングファッション」としてデータを読み取るとはどういう意味ですか?

を読んでいてApache Crunch documentation、次の文を見つけました。

データはファイルシステムからストリーミング方式で読み込まれるため、マテリアライゼーションを使用してクライアントに読み込むために、PCollection の内容がメモリに収まる必要はありません。

どういう意味なのか知りたいread in from the filesystem in a streaming fashionのですが、他の種類のデータの読み取り方法との違いを教えていただければ幸いです。

この概念は、Spark などの他のツールにも当てはまると思います。