Submit Search
Upload
Apache Hbase バルクロードの使い方
•
2 likes
•
1,461 views
Takeshi Mikami
Follow
本資料では、HBaseのバルクロードの実施方法と仕組み、実施時の注意点について説明します。
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 18
Download now
Download to read offline
Recommended
Hive on Tezのベストプラクティス
Hive on Tezのベストプラクティス
Yahoo!デベロッパーネットワーク
Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-
Yuki Gonda
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
Jun Kato
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識
Ken SASAKI
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
Hadoop入門
Hadoop入門
Preferred Networks
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
NTT DATA Technology & Innovation
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
Recommended
Hive on Tezのベストプラクティス
Hive on Tezのベストプラクティス
Yahoo!デベロッパーネットワーク
Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-
Yuki Gonda
ネットワークでなぜ遅延が生じるのか
ネットワークでなぜ遅延が生じるのか
Jun Kato
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識
Ken SASAKI
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
Hadoop入門
Hadoop入門
Preferred Networks
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
NTT DATA Technology & Innovation
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
Pacemakerを使いこなそう
Pacemakerを使いこなそう
Takatoshi Matsuo
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
hamaken
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
ただいまHadoop勉強中
ただいまHadoop勉強中
Satoshi Noto
HBase スキーマ設計のポイント
HBase スキーマ設計のポイント
daisuke-a-matsui
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Cloudera Japan
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
歩 柴田
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
SASとHadoopとの連携
SASとHadoopとの連携
SAS Institute Japan
PostgreSQLでスケールアウト
PostgreSQLでスケールアウト
Masahiko Sawada
Helidon 概要
Helidon 概要
オラクルエンジニア通信
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
貴仁 大和屋
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
Sotaro Kimura
サイバージェント 秋葉原ラボのHBase 活用事例
サイバージェント 秋葉原ラボのHBase 活用事例
cyberagent
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
NTT DATA Technology & Innovation
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
rdflintのvscode拡張の紹介とその実装方法
rdflintのvscode拡張の紹介とその実装方法
Takeshi Mikami
適切なクラスタ数を機械的に求める手法の紹介
適切なクラスタ数を機械的に求める手法の紹介
Takeshi Mikami
More Related Content
What's hot
Pacemakerを使いこなそう
Pacemakerを使いこなそう
Takatoshi Matsuo
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
hamaken
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Samir Hammoudi
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
ただいまHadoop勉強中
ただいまHadoop勉強中
Satoshi Noto
HBase スキーマ設計のポイント
HBase スキーマ設計のポイント
daisuke-a-matsui
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Cloudera Japan
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
歩 柴田
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
Yahoo!デベロッパーネットワーク
SASとHadoopとの連携
SASとHadoopとの連携
SAS Institute Japan
PostgreSQLでスケールアウト
PostgreSQLでスケールアウト
Masahiko Sawada
Helidon 概要
Helidon 概要
オラクルエンジニア通信
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
貴仁 大和屋
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
Sotaro Kimura
サイバージェント 秋葉原ラボのHBase 活用事例
サイバージェント 秋葉原ラボのHBase 活用事例
cyberagent
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
NTT DATA Technology & Innovation
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
What's hot
(20)
Pacemakerを使いこなそう
Pacemakerを使いこなそう
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
超実践 Cloud Spanner 設計講座
超実践 Cloud Spanner 設計講座
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
ただいまHadoop勉強中
ただいまHadoop勉強中
HBase スキーマ設計のポイント
HBase スキーマ設計のポイント
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
SASとHadoopとの連携
SASとHadoopとの連携
PostgreSQLでスケールアウト
PostgreSQLでスケールアウト
Helidon 概要
Helidon 概要
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
最近のストリーム処理事情振り返り
最近のストリーム処理事情振り返り
サイバージェント 秋葉原ラボのHBase 活用事例
サイバージェント 秋葉原ラボのHBase 活用事例
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
More from Takeshi Mikami
rdflintのvscode拡張の紹介とその実装方法
rdflintのvscode拡張の紹介とその実装方法
Takeshi Mikami
適切なクラスタ数を機械的に求める手法の紹介
適切なクラスタ数を機械的に求める手法の紹介
Takeshi Mikami
OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れ
Takeshi Mikami
MapReduceによるConnected Components(連結成分)の見つけ方
MapReduceによるConnected Components(連結成分)の見つけ方
Takeshi Mikami
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
Takeshi Mikami
データサイエンスアイドル「小日向美穂」と考える「つながり」
データサイエンスアイドル「小日向美穂」と考える「つながり」
Takeshi Mikami
RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成
RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成
Takeshi Mikami
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
Takeshi Mikami
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方
Takeshi Mikami
HBase CompleteBulkLoadその仕組み&発生した問題
HBase CompleteBulkLoadその仕組み&発生した問題
Takeshi Mikami
RDFチェックツール「rdflint」のご紹介
RDFチェックツール「rdflint」のご紹介
Takeshi Mikami
アーリース情報技術株式会社 会社案内 (2019/02/13)
アーリース情報技術株式会社 会社案内 (2019/02/13)
Takeshi Mikami
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
Takeshi Mikami
SPARQL入門
SPARQL入門
Takeshi Mikami
センサーによるデータ計測と異常検知の基本
センサーによるデータ計測と異常検知の基本
Takeshi Mikami
Webサイトのアクセスログによるユーザー属性推定
Webサイトのアクセスログによるユーザー属性推定
Takeshi Mikami
Google Cloud Dataflowによる データ変換処理入門
Google Cloud Dataflowによる データ変換処理入門
Takeshi Mikami
IoTでの機械学習活用イメージと強化学習のご紹介
IoTでの機械学習活用イメージと強化学習のご紹介
Takeshi Mikami
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
Takeshi Mikami
SparkMLlibで始めるビッグデータを対象とした機械学習入門
SparkMLlibで始めるビッグデータを対象とした機械学習入門
Takeshi Mikami
More from Takeshi Mikami
(20)
rdflintのvscode拡張の紹介とその実装方法
rdflintのvscode拡張の紹介とその実装方法
適切なクラスタ数を機械的に求める手法の紹介
適切なクラスタ数を機械的に求める手法の紹介
OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れ
MapReduceによるConnected Components(連結成分)の見つけ方
MapReduceによるConnected Components(連結成分)の見つけ方
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
RDFチェックツール「rdflint」のご紹介 (LODチャレンジ2019受賞作品紹介 基盤技術部門優秀賞)
データサイエンスアイドル「小日向美穂」と考える「つながり」
データサイエンスアイドル「小日向美穂」と考える「つながり」
RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成
RDFのチェックツール「rdflint」とコミュニティによるオープンデータの作成
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方
HBase CompleteBulkLoadその仕組み&発生した問題
HBase CompleteBulkLoadその仕組み&発生した問題
RDFチェックツール「rdflint」のご紹介
RDFチェックツール「rdflint」のご紹介
アーリース情報技術株式会社 会社案内 (2019/02/13)
アーリース情報技術株式会社 会社案内 (2019/02/13)
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
Spark MLlib ML Pipelines の概要 及びpysparkからの扱い方
SPARQL入門
SPARQL入門
センサーによるデータ計測と異常検知の基本
センサーによるデータ計測と異常検知の基本
Webサイトのアクセスログによるユーザー属性推定
Webサイトのアクセスログによるユーザー属性推定
Google Cloud Dataflowによる データ変換処理入門
Google Cloud Dataflowによる データ変換処理入門
IoTでの機械学習活用イメージと強化学習のご紹介
IoTでの機械学習活用イメージと強化学習のご紹介
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
協調フィルタリング・アソシエーション分析によるレコメンド手法の紹介
SparkMLlibで始めるビッグデータを対象とした機械学習入門
SparkMLlibで始めるビッグデータを対象とした機械学習入門
Recently uploaded
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
Recently uploaded
(8)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
Apache Hbase バルクロードの使い方
1.
takemikami’s note –
http://takemikami.com/ 三上 威 (フリーランスITエンジニア) twitter: @takemikami Apache HBase バルクロードの使い方 HBaseバルクロードの実施方法・仕組み・実施時の注意点 1 HBase Hadoop 2017/2/14 Copyright (C) 2017 Takeshi Mikami. All rights reserved.
2.
takemikami’s note –
http://takemikami.com/ アジェンダ • バルクロードの全体像 • バルクロードの実施方法 • HBaseのテーブルの理解 〜regionについて • バルクロードの仕組み • バルクロード実施時の注意点 2Copyright (C) 2017 Takeshi Mikami. All rights reserved.
3.
takemikami’s note –
http://takemikami.com/ • HBaseのバルクロードは2stepで実施 – importtsv mapreduceでtsvファイルをHFile (HBaseの内部形式)に変換 – completebulkload HFileをHBaseのテーブルにロード バルクロードの全体像 3Copyright (C) 2017 Takeshi Mikami. All rights reserved. HBaseのバルクロード全体の流れについて説明します。 tsv ファイル HFile HBase table importtsv complete bulkload Step1 Step2 →本資料では、HBaseのバルクロードの実施方法・仕組み・実施時の注意点を説明します。
4.
takemikami’s note –
http://takemikami.com/ バルクロードの実施方法 〜1.tsvファイルの準備 • 例として、次の形式のデータをロードする流れを説明します – キーに2桁の数字を持つ – 属性に名前(name)・年齢(age)を持つ • 次のカラムを持つtsvファイルを作成 – キー、名前、年齢 • HDFSにtsvをupload 4Copyright (C) 2017 Takeshi Mikami. All rights reserved. HBaseのバルクロードの実施方法を示します。 $ hadoop fs -mkdir /tmp/sample/tsv $ hadoop fs -put sample.tsv /tmp/sample/tsv/0001 キー 名前 年齢 76 鈴木 25 03 佐藤 32 12 山田 47 25 ・・・ ・・・ ↑tsvファイルのイメージ
5.
takemikami’s note –
http://takemikami.com/ バルクロードの実施方法 〜2.importtsvの実行 • importtsvを実行し、tsvからHFileに変換 5Copyright (C) 2017 Takeshi Mikami. All rights reserved. HBaseのバルクロードの実施方法を示します。 $ hbase org.apache.hadoop.hbase.mapreduce.ImportTsv ¥ -Dimporttsv.columns=HBASE_ROW_KEY,name,age ¥ -Dimporttsv.bulk.output=hdfs:///tmp/sample/hfile ¥ sampletable hdfs:///tmp/sample/tsv テーブルの カラム名リスト HFileの出力先 入力tsvファイルの格納先 テーブル名 tsv ファイル HFile HBase table importtsv complete bulkload Step1 Step2
6.
takemikami’s note –
http://takemikami.com/ バルクロードの実施方法 〜3.completebulkloadの実行 • completebulkloadを実行し、HBaseのテーブルにロード 6Copyright (C) 2017 Takeshi Mikami. All rights reserved. HBaseのバルクロードの実施方法を示します。 $ hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles ¥ hdfs:///tmp/sample/hfile sampletable テーブル名 HFileの格納先 tsv ファイル HFile HBase table importtsv complete bulkload Step1 Step2
7.
takemikami’s note –
http://takemikami.com/ Rowキー カラム タイムスタンプ 値 03 名前 1484890815454 佐藤 03 年齢 1484890815454 32 12 名前 1484890815454 山田 12 年齢 1484890815454 47 15 名前 1484890815454 山本 15 年齢 1484890815454 21 76 名前 1484890815454 鈴木 76 年齢 1484890815454 25 95 名前 1484890815454 高橋 95 年齢 1484890815454 18 HBaseのテーブルの理解 〜tableとregion 7Copyright (C) 2017 Takeshi Mikami. All rights reserved. HBaseのテーブルのregionについて説明します。 • HBaseのテーブルは、Rowキー・カラム・タイムスタンプに対して1つの値を持つ構造 • データはRowキーの範囲で分割し保存される(分割された単位をRegionと呼ぶ) Region① 00〜50 注:columnfamilyの説明は省きます。 Region② 51〜99
8.
takemikami’s note –
http://takemikami.com/ Rowキー カラム タイムスタンプ 値 03 名前 1484890815454 佐藤 03 年齢 1484890815454 32 12 名前 1484890815454 山田 12 年齢 1484890815454 47 15 名前 1484890815454 山本 15 年齢 1484890815454 21 76 名前 1484890815454 鈴木 76 年齢 1484890815454 25 95 名前 1484890815454 高橋 95 年齢 1484890815454 18 HBaseのテーブルの理解 〜regionの分割 8Copyright (C) 2017 Takeshi Mikami. All rights reserved. HBaseのテーブルのregionの分割について説明します。 • Region内のデータサイズが閾値を超えると、Regionがsplit(分割)されます。 (明示的にコマンドを入力してsplitすることも可能) Region① 00〜50 Region② 51〜99 Region① 00〜14 Region② 15〜50 Region③ 51〜99 データ量が閾値を 超えると、split データ量が閾値を 超えると、split
9.
takemikami’s note –
http://takemikami.com/ HBaseのテーブルの理解 〜region状態の確認 9Copyright (C) 2017 Takeshi Mikami. All rights reserved. HBaseのテーブルのregion分割状態の確認方法について説明します。 • テーブルがどんなRegionに分割されているかは、HBaseのメタ情報から確認 hbase> scan ‘hbase:meta’,{FILTER=>“PrefixFilter(‘※テーブル名※’)"} column=info:regioninfo, ・・・・, value={・・・・, STARTKEY => '00', ENDKEY => '50'} ■コマンド ■結果 各regionの開始・終了位置各regionの開始・終了位置
10.
takemikami’s note –
http://takemikami.com/ バルクロードの仕組み 10Copyright (C) 2017 Takeshi Mikami. All rights reserved. TSV TSV キー 名前 年齢 76 鈴木 25 03 佐藤 32 12 山田 47 25 ・・・ ・・・ キー 値 76 名前:鈴木, 年齢:25 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 25 ・・・ Map Shuffle キー 値 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 15 名前:山本, 年齢:21 25 ・・・ HFile キー 値 95 名前:高橋, 年齢:18 76 名前:鈴木, 年齢:25 65 ・・・ キー 名前 年齢 95 高橋 18 15 山本 21 65 ・・・ ・・・ キー 値 95 名前:高橋, 年齢:18 15 名前:山本, 年齢:21 65 ・・・ Map HFile Reduce Reduce Region② 51〜100 Complete BulkLoad Complete BulkLoad バルクロード(ImportTSV〜CompleteBulkLoad)の流れについて順を追って説明します。 compltebulkload HBase importtsv step1 mapreduceでtsvファイルを HFile (HBaseの内部形式)に変換 Region① 00〜50step2 HFileを HBaseテーブルに ロード バルクロードは、この2stepで実施 次スライドから順を追って説明します
11.
takemikami’s note –
http://takemikami.com/ バルクロードの仕組み 1. tsvファイルの準備 11Copyright (C) 2017 Takeshi Mikami. All rights reserved. TSV TSV キー 名前 年齢 76 鈴木 25 03 佐藤 32 12 山田 47 25 ・・・ ・・・ キー 値 76 名前:鈴木, 年齢:25 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 25 ・・・ Map Shuffle キー 値 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 15 名前:山本, 年齢:21 25 ・・・ HFile キー 値 95 名前:高橋, 年齢:18 76 名前:鈴木, 年齢:25 65 ・・・ キー 名前 年齢 95 高橋 18 15 山本 21 65 ・・・ ・・・ キー 値 95 名前:高橋, 年齢:18 15 名前:山本, 年齢:21 65 ・・・ Map HFile Reduce Reduce Region① 00〜50 Region② 51〜100 Complete BulkLoad Complete BulkLoad バルクロード(ImportTSV〜CompleteBulkLoad)の流れについて順を追って説明します。 CompleteBulkLoad HBase ImportTSV HDFSに入力TSVファイルをアップロードします
12.
takemikami’s note –
http://takemikami.com/ バルクロードの仕組み 2. mapper/reducerの起動 12Copyright (C) 2017 Takeshi Mikami. All rights reserved. TSV TSV キー 名前 年齢 76 鈴木 25 03 佐藤 32 12 山田 47 25 ・・・ ・・・ キー 値 76 名前:鈴木, 年齢:25 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 25 ・・・ Map Shuffle キー 値 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 15 名前:山本, 年齢:21 25 ・・・ HFile キー 値 95 名前:高橋, 年齢:18 76 名前:鈴木, 年齢:25 65 ・・・ キー 名前 年齢 95 高橋 18 15 山本 21 65 ・・・ ・・・ キー 値 95 名前:高橋, 年齢:18 15 名前:山本, 年齢:21 65 ・・・ Map HFile Reduce Reduce Region① 00〜50 Region② 51〜100 Complete BulkLoad Complete BulkLoad バルクロード(ImportTSV〜CompleteBulkLoad)の流れについて順を追って説明します。 CompleteBulkLoad HBase ImportTSV 入力TSVファイル数に応じた数の mapperを起動します インポート先テーブルのRegion数の Reducerを起動します Regionが2つであれば、 Reducerも2つ Regionが2つであれば、 Reducerも2つ
13.
takemikami’s note –
http://takemikami.com/ バルクロードの仕組み 3.map処理 13Copyright (C) 2017 Takeshi Mikami. All rights reserved. TSV TSV キー 名前 年齢 76 鈴木 25 03 佐藤 32 12 山田 47 25 ・・・ ・・・ キー 値 76 名前:鈴木, 年齢:25 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 25 ・・・ Map Shuffle キー 値 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 15 名前:山本, 年齢:21 25 ・・・ HFile キー 値 95 名前:高橋, 年齢:18 76 名前:鈴木, 年齢:25 65 ・・・ キー 名前 年齢 95 高橋 18 15 山本 21 65 ・・・ ・・・ キー 値 95 名前:高橋, 年齢:18 15 名前:山本, 年齢:21 65 ・・・ Map HFile Reduce Reduce Region① 00〜50 Region② 51〜100 Complete BulkLoad Complete BulkLoad バルクロード(ImportTSV〜CompleteBulkLoad)の流れについて順を追って説明します。 CompleteBulkLoad HBase ImportTSV 入力TSVファイル数を インポート先テーブルの「キー」と「属性値のMap」 の形式にmapします
14.
takemikami’s note –
http://takemikami.com/ バルクロードの仕組み 4.shuffle処理 14Copyright (C) 2017 Takeshi Mikami. All rights reserved. TSV TSV キー 名前 年齢 76 鈴木 25 03 佐藤 32 12 山田 47 25 ・・・ ・・・ キー 値 76 名前:鈴木, 年齢:25 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 25 ・・・ Map Shuffle キー 値 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 15 名前:山本, 年齢:21 25 ・・・ HFile キー 値 95 名前:高橋, 年齢:18 76 名前:鈴木, 年齢:25 65 ・・・ キー 名前 年齢 95 高橋 18 15 山本 21 65 ・・・ ・・・ キー 値 95 名前:高橋, 年齢:18 15 名前:山本, 年齢:21 65 ・・・ Map HFile Reduce Reduce Region① 00〜50 Region② 51〜100 Complete BulkLoad Complete BulkLoad バルクロード(ImportTSV〜CompleteBulkLoad)の流れについて順を追って説明します。 CompleteBulkLoad HBase ImportTSV 出力先テーブルの regionのキー範囲に合わせ、 各reducerにshuffleします 00~50の範囲00~50の範囲 51~100の範囲51~100の範囲
15.
takemikami’s note –
http://takemikami.com/ バルクロードの仕組み 5.reduce処理 15Copyright (C) 2017 Takeshi Mikami. All rights reserved. TSV TSV キー 名前 年齢 76 鈴木 25 03 佐藤 32 12 山田 47 25 ・・・ ・・・ キー 値 76 名前:鈴木, 年齢:25 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 25 ・・・ Map Shuffle キー 値 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 15 名前:山本, 年齢:21 25 ・・・ HFile キー 値 95 名前:高橋, 年齢:18 76 名前:鈴木, 年齢:25 65 ・・・ キー 名前 年齢 95 高橋 18 15 山本 21 65 ・・・ ・・・ キー 値 95 名前:高橋, 年齢:18 15 名前:山本, 年齢:21 65 ・・・ Map HFile Reduce Reduce Region① 00〜50 Region② 51〜100 Complete BulkLoad Complete BulkLoad バルクロード(ImportTSV〜CompleteBulkLoad)の流れについて順を追って説明します。 CompleteBulkLoad HBase ImportTSV regionのキー範囲ごとに、 Reduce処理で、 HFileを生成します
16.
takemikami’s note –
http://takemikami.com/ バルクロードの仕組み 6.completebulkload処理 16Copyright (C) 2017 Takeshi Mikami. All rights reserved. TSV TSV キー 名前 年齢 76 鈴木 25 03 佐藤 32 12 山田 47 25 ・・・ ・・・ キー 値 76 名前:鈴木, 年齢:25 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 25 ・・・ Map Shuffle キー 値 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 15 名前:山本, 年齢:21 25 ・・・ HFile キー 値 95 名前:高橋, 年齢:18 76 名前:鈴木, 年齢:25 65 ・・・ キー 名前 年齢 95 高橋 18 15 山本 21 65 ・・・ ・・・ キー 値 95 名前:高橋, 年齢:18 15 名前:山本, 年齢:21 65 ・・・ Map HFile Reduce Reduce Region① 00〜50 Region② 51〜100 Complete BulkLoad Complete BulkLoad バルクロード(ImportTSV〜CompleteBulkLoad)の流れについて順を追って説明します。 CompleteBulkLoad HBase ImportTSV 各region毎に、 Hfileをテーブルにロードします
17.
takemikami’s note –
http://takemikami.com/ バルクロードの仕組み 改めて全体 17Copyright (C) 2017 Takeshi Mikami. All rights reserved. TSV TSV キー 名前 年齢 76 鈴木 25 03 佐藤 32 12 山田 47 25 ・・・ ・・・ キー 値 76 名前:鈴木, 年齢:25 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 25 ・・・ Map Shuffle キー 値 03 名前:佐藤, 年齢:32 12 名前:山田, 年齢:47 15 名前:山本, 年齢:21 25 ・・・ HFile キー 値 95 名前:高橋, 年齢:18 76 名前:鈴木, 年齢:25 65 ・・・ キー 名前 年齢 95 高橋 18 15 山本 21 65 ・・・ ・・・ キー 値 95 名前:高橋, 年齢:18 15 名前:山本, 年齢:21 65 ・・・ Map HFile Reduce Reduce Region① 00〜50 Region② 51〜100 Complete BulkLoad Complete BulkLoad バルクロード(ImportTSV〜CompleteBulkLoad)の流れについて順を追って説明します。 CompleteBulkLoad HBase ImportTSV
18.
takemikami’s note –
http://takemikami.com/ バルクロード実施時の注意点 • バルクロード実施時、以下のバランスが悪いと問題が生じる – ①ロードするデータサイズ ②テーブルのregion分割数 18Copyright (C) 2017 Takeshi Mikami. All rights reserved. バルクロード実施時の注意点を説明します。 『①ロードするデータサイズ > ②テーブルのregion分割数』の場合 ロードするデータがregionに収まりきらず、 completebulkloadの途中で、何度もauto-splitが発生し、ロードに時間がかかる。 『①ロードするデータサイズ < ②テーブルのregion分割数』の場合 region分割数が多いと多数のHFileができる。 テーブルを洗い替え(truncate→complatebulkload)しようとすると、 単一regionにロードできるHFile数の閾値を超えて、エラーになってしまう。 → (importtsv実行前にregionを手動splitするなど) ロードするデータサイズとregion数をバランスさせておく必要がある。
Download now