You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2013/10/26 00:03:33 UTC
[jira] [Commented] (HBASE-8369) MapReduce over snapshot files
[ https://issues.apache.org/jira/browse/HBASE-8369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13805748#comment-13805748 ]
Enis Soztutar commented on HBASE-8369:
--------------------------------------
Uploaded the slides about this issue here: http://www.slideshare.net/enissoz/mapreduce-over-snapshots. It also contains some numbers for performaance comparison.
Here are the raw numbers (in MB/s)
||Data size|| 6.6 G|| 13.2G|| 19.8 G|| 26.4 G||
|StoreFileCount per region| 3| 6| 9| 12|
|Scan |8.2 |7.6 |11.2 |7.2|
|SnapshotScan |60.8 |59.5 |55.3 |46.7|
|ScanMR |75.9 |80.4 |82.3 |140.7|
|SnapshotScanMR |198.6 |275.6 |311.6 |329.4|
Main takeaway, seems to be the single scanner speeds improve 5-6x, from 11MB/s to 55MB/s. That is also half of raw disk speed (for a single disk). Do not read much into MR test speed improvements when store file increases. That is due to job launch costs taking relatively smaller percentage when data sizes increase.
> MapReduce over snapshot files
> -----------------------------
>
> Key: HBASE-8369
> URL: https://issues.apache.org/jira/browse/HBASE-8369
> Project: HBase
> Issue Type: New Feature
> Components: mapreduce, snapshots
> Reporter: Enis Soztutar
> Assignee: Enis Soztutar
> Fix For: 0.98.0
>
> Attachments: HBASE-8369-0.94.patch, HBASE-8369-0.94_v2.patch, HBASE-8369-0.94_v3.patch, HBASE-8369-0.94_v4.patch, HBASE-8369-0.94_v5.patch, HBASE-8369-trunk_v1.patch, HBASE-8369-trunk_v2.patch, HBASE-8369-trunk_v3.patch, hbase-8369_v0.patch
>
>
> The idea is to add an InputFormat, which can run the mapreduce job over snapshot files directly bypassing hbase server layer. The IF is similar in usage to TableInputFormat, taking a Scan object from the user, but instead of running from an online table, it runs from a table snapshot. We do one split per region in the snapshot, and open an HRegion inside the RecordReader. A RegionScanner is used internally for doing the scan without any HRegionServer bits.
> Users have been asking and searching for ways to run MR jobs by reading directly from hfiles, so this allows new use cases if reading from stale data is ok:
> - Take snapshots periodically, and run MR jobs only on snapshots.
> - Export snapshots to remote hdfs cluster, run the MR jobs at that cluster without HBase cluster.
> - (Future use case) Combine snapshot data with online hbase data: Scan from yesterday's snapshot, but read today's data from online hbase cluster.
--
This message was sent by Atlassian JIRA
(v6.1#6144)