1

スクープ 1.3 の使用

hdfs出力をmysqlテーブルにエクスポートしようとしています

サイズが 300MB を超える非圧縮ファイルをロードしている間、すべてが期待どおりに機能します。

しかし、サイズが 75 MB または 79 MB の圧縮ファイル (.gz および .lzo) をロードすると、テーブルにロードされる行が 2 倍になります。これは、圧縮ファイルのサイズが 60MB 以下の場合には発生しません (64 MB に関連するもの、ブロック サイズを推測します)。上記のコンテキストで行ったいくつかの操作:

bash-3.2$ ls -ltr
-rw-r--r-- 1 bhargavn bhargavn 354844413 Nov 16 02:27 large_file
-rw-rw-r-- 1 bhargavn bhargavn  15669507 Nov 21 03:41 small_file.lzo
-rw-rw-r-- 1 bhargavn bhargavn  75173037 Nov 21 03:46 large_file.lzo

bash-3.2$ wc -l large_file
247060 large_file

bash-3.2$ sqoop export --connect 'jdbc:mysql://db.com/test?zeroDateTimeBehavior=round&    rewriteBatchedStatements=true' 
--table table_with_large_data 
--username sqoopuser 
--password sqoop 
--export-dir /user/bhargavn/workspace/data/sqoop-test/large_file.lzo 
--fields-terminated-by '\001' -m 1
[21/11/2012:05:52:28 PST] main      INFO org.apache.hadoop.mapred.JobClient:  map 0% reduce 0%
[21/11/2012:05:57:03 PST] main      INFO com.cloudera.sqoop.mapreduce.ExportJobBase:     Transferred 143.3814 MB in 312.2832 seconds (470.1584 KB/sec)
[21/11/2012:05:57:03 PST] main      INFO com.cloudera.sqoop.mapreduce.ExportJobBase:     Exported 494120 records.

mysql> select count(1) from table_with_large_data;
+----------+
| count(1) |
+----------+
|   494120 |
+----------+

mysql> truncate table_with_large_data;
bash-3.2$ sqoop export --connect 'jdbc:mysql://db.com/test?zeroDateTimeBehavior=round&    rewriteBatchedStatements=true' 
--table table_with_large_data 
--uername sqoopuser 
--password sqoop 
--export-dir /user/bhargavn/workspace/data/sqoop-test/large_file
--fields-terminated-by '\001' 
-m 1
[21/11/2012:06:05:35 PST] main      INFO org.apache.hadoop.mapred.JobClient:  map 0%     reduce 0%
[21/11/2012:06:08:06 PST] main      INFO org.apache.hadoop.mapred.JobClient:  map 100%     reduce 0%
[21/11/2012:06:08:06 PST] main      INFO com.cloudera.sqoop.mapreduce.ExportJobBase:     Transferred 338.4573 MB in 162.5891 seconds (2.0817 MB/sec)
[21/11/2012:06:08:06 PST] main      INFO com.cloudera.sqoop.mapreduce.ExportJobBase:     Exported 247060 records.
mysql> select count(1) from table_with_large_data;
+----------+
| count(1) |
+----------+
|   247060 |
+----------+
4

1 に答える 1

1

Sqoop 側で修正する必要がある既知のバグ [1] に遭遇する可能性があります。

Sqoop ユーザー メーリング リスト [2] に署名して、そこで問題を説明していただけませんか? 私は、Sqoop 開発者がこの特定の問題のトラブルシューティングに飛び込んでくると確信しています。

ヤルセック

リンク:

1: https://issues.apache.org/jira/browse/SQOOP-721

2: http://sqoop.apache.org/mail-lists.html

于 2012-11-22T15:29:07.470 に答える