2017-04-26 5 views
0

私はsqoopを理解しているので、RDBMSとのjdbc接続を行うさまざまなデータノード上にいくつかのマッパーを起動します。接続が確立されると、データはHDFSに転送されます。sqoopはディスクに一時的なデータを流すのですか

ちょうど理解しようとすると、sqoopマッパーはディスク(データノード)上に一時的にデータを流しますか? MapReduceで流出が起こるのは分かっていますが、sqoopの仕事についてはわかりません。

答えて

0

と思われます。sqoop-importがマッパー上で実行され、がこぼれないようです。 sqoop-mergeはmap-reduceで実行され、をこぼします。 sqoopのインポート実行中にジョブトラッカーでチェックすることができます。

がsqoopインポートログのこの部分を見てください、それがこぼれない、HDFSにフェッチと書き込み:

INFO [main] ... mapreduce.db.DataDrivenDBRecordReader: Using query: SELECT... 
[main] mapreduce.db.DBRecordReader: Executing query: SELECT... 
INFO [main] org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter: File Output Committer Algorithm version is 1 
INFO [main] org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter: FileOutputCommitter skip cleanup _temporary folders under output directory:false, ignore cleanup failures: false 
INFO [main] org.apache.hadoop.io.compress.CodecPool: Got brand-new compressor [.snappy] 
INFO [Thread-16] ...mapreduce.AutoProgressMapper: Auto-progress thread is finished. keepGoing=false 
INFO [main] org.apache.hadoop.mapred.Task: Task:attempt_1489705733959_2462784_m_000000_0 is done. And is in the process of committing 
INFO [main] org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter: Saved output of task 'attempt_1489705733959_2462784_m_000000_0' to hdfs:// 

は(一部の行をスキップ)このsqoopマージログを見てください、それが流出(注釈ログに出力マップを書き込んでください)

INFO [main] org.apache.hadoop.mapred.MapTask: Processing split: hdfs://bla-bla/part-m-00000:0+48322717 
    ... 
    INFO [main] org.apache.hadoop.mapreduce.lib.output.FileOutputCommitter: FileOutputCommitter skip cleanup _temporary folders under output directory:false, ignore cleanup failures: false 
    ... 
    INFO [main] org.apache.hadoop.mapred.MapTask: mapreduce.task.io.sort.mb: 1024 
    INFO [main] org.apache.hadoop.mapred.MapTask: soft limit at 751619264 
    INFO [main] org.apache.hadoop.mapred.MapTask: bufstart = 0; bufvoid = 1073741824 
    INFO [main] org.apache.hadoop.mapred.MapTask: kvstart = 268435452; length = 67108864 
    INFO [main] org.apache.hadoop.mapred.MapTask: Map output collector class = org.apache.hadoop.mapred.MapTask$**MapOutputBuffer** 
    INFO [main] com.pepperdata.supervisor.agent.resource.r: Datanode bla-bla is LOCAL. 
    INFO [main] org.apache.hadoop.io.compress.CodecPool: Got brand-new decompressor [.snappy] 
    ... 
    INFO [main] org.apache.hadoop.mapred.MapTask: **Starting flush of map output** 
    INFO [main] org.apache.hadoop.mapred.MapTask: **Spilling map output** 
    INFO [main] org.apache.hadoop.mapred.MapTask: **bufstart** = 0; **bufend** = 184775274; bufvoid = 1073741824 
    INFO [main] org.apache.hadoop.mapred.MapTask: kvstart = 268435452(1073741808); kvend = 267347800(1069391200); length = 1087653/67108864 
    INFO [main] org.apache.hadoop.io.compress.CodecPool: Got brand-new compressor [.snappy] 
[main] org.apache.hadoop.mapred.MapTask: Finished spill 0 
    ...Task:attempt_1489705733959_2479291_m_000000_0 is done. And is in the process of committing 
関連する問題