[HADOOP] MongoDB의에서 HBase를 마이그레이션
HADOOPMongoDB의에서 HBase를 마이그레이션
안녕 나는 HBase를 데이터베이스에 아주 새로운 오전. 나는 약간의 트위터 데이터를 다운로드하여 MongoDB에 저장됩니다. 지금은 속도 향상 하둡 처리 HBase를로 데이터를 변환 할 필요가있다. 그러나 나는 그것이 계획이다 작성할 수 없습니다입니다. 여기에 내가 JSON의 포맷팅 및에 트위터 데이터가
{
"_id" : ObjectId("512b71e6e4b02a4322d1c0b0"),
"id" : NumberLong("306044618179506176"),
"source" : "<a href=\"http://www.facebook.com/twitter\" rel=\"nofollow\">Facebook</a>",
"user" : {
"name" : "Dada Bhagwan",
"location" : "India",
"url" : "http://www.dadabhagwan.org",
"id" : 191724440,
"protected" : false,
"timeZone" : null,
"description" : "Founder of Akram Vignan - Practical Spiritual Science of Self Realization",
"screenName" : "dadabhagwan",
"geoEnabled" : false,
"profileImageURL" : "http://a0.twimg.com/profile_images/1647956820/M_DSC_0034_normal.jpg",
"biggerProfileImageURL" : "http://a0.twimg.com/profile_images/1647956820/M_DSC_0034_bigger.jpg",
"profileImageUrlHttps" : "https://si0.twimg.com/profile_images/1647956820/M_DSC_0034_normal.jpg",
"profileImageURLHttps" : "https://si0.twimg.com/profile_images/1647956820/M_DSC_0034_normal.jpg",
"biggerProfileImageURLHttps" : "https://si0.twimg.com/profile_images/1647956820/M_DSC_0034_bigger.jpg",
"miniProfileImageURLHttps" : "https://si0.twimg.com/profile_images/1647956820/M_DSC_0034_mini.jpg",
"originalProfileImageURLHttps" : "https://si0.twimg.com/profile_images/1647956820/M_DSC_0034.jpg",
"followersCount" : 499,
"profileBackgroundColor" : "EEE4C1",
"profileTextColor" : "333333",
"profileLinkColor" : "990000",
"lang" : "en",
"profileSidebarFillColor" : "FCF9EC",
"profileSidebarBorderColor" : "CBC09A",
"profileUseBackgroundImage" : true,
"showAllInlineMedia" : false,
"friendsCount" : 1,
"favouritesCount" : 0,
"profileBackgroundImageUrl" : "http://a0.twimg.com/profile_background_images/396759326/dadabhagwan-twitter.jpg",
"profileBackgroundImageURL" : "http://a0.twimg.com/profile_background_images/396759326/dadabhagwan-twitter.jpg",
"profileBackgroundImageUrlHttps" : "https://si0.twimg.com/profile_background_images/396759326/dadabhagwan-twitter.jpg",
"profileBannerURL" : null,
"profileBannerRetinaURL" : null,
"profileBannerIPadURL" : null,
"profileBannerIPadRetinaURL" : null,
"miniProfileImageURL" : "http://a0.twimg.com/profile_images/1647956820/M_DSC_0034_mini.jpg",
"originalProfileImageURL" : "http://a0.twimg.com/profile_images/1647956820/M_DSC_0034.jpg",
"utcOffset" : -1,
"contributorsEnabled" : false,
"status" : null,
"createdAt" : NumberLong("1284700143000"),
"profileBannerMobileURL" : null,
"profileBannerMobileRetinaURL" : null,
"profileBackgroundTiled" : false,
"statusesCount" : 1713,
"verified" : false,
"translator" : false,
"listedCount" : 6,
"followRequestSent" : false,
"descriptionURLEntities" : [ ],
"urlentity" : {
"url" : "http://www.dadabhagwan.org",
"start" : 0,
"end" : 26,
"expandedURL" : "http://www.dadabhagwan.org",
"displayURL" : "http://www.dadabhagwan.org"
},
"rateLimitStatus" : null,
"accessLevel" : 0
},
"contributors" : [ ],
"geoLocation" : null,
"place" : null,
"favorited" : false,
"retweet" : false,
"retweetedStatus" : null,
"retweetCount" : 0,
"userMentionEntities" : [ ],
"retweetedByMe" : false,
"currentUserRetweetId" : -1,
"possiblySensitive" : false,
"urlentities" : [
{
"url" : "http://t.co/gR1GohGjaj",
"start" : 113,
"end" : 135,
"expandedURL" : "http://fb.me/2j2HKHJrM",
"displayURL" : "fb.me/2j2HKHJrM"
}
],
"hashtagEntities" : [ ],
"mediaEntities" : [ ],
"truncated" : false,
"inReplyToStatusId" : -1,
"text" : "Spiritual Quote of the Day :\n\n‘I am Chandubhai’ is an illusion itself and from that are \nkarmas charged. When... http://t.co/gR1GohGjaj",
"inReplyToUserId" : -1,
"inReplyToScreenName" : null,
"createdAt" : NumberLong("1361801697000"),
"rateLimitStatus" : null,
"accessLevel" : 0
}
여기에 어떻게 열 및 열 가족에 데이터를 분할하는? 나는 리트 윗 등 소스의 getLocation, 장소를 포함하는 하나 "트위터"열 가족을 생각 ... 그리고 다른 "사용자"열 가족과 그 등 이름, 위치 (사용자의 데이터)를 포함한다. 각 내부 레벨의 하위 문서에 대한 새로운 열 가족 즉.
이 방법이 정확합니까? 지금은 "사용자"열 가족과 '트위터'열 가족을위한 urlentity을 차별화하는 방법?
그리고 (예를 들어, urlentity에 대한) 하위 문서의 목록을 포함하는 키를 처리하는 방법
해결법
-
==============================
1.단일 열에서 모든 것을 저장에서 "색인"에 대한 여러 가지 다른 테이블과 각 하위 엔터티에 대한 다른 테이블을 가지고에 이르기까지 HBase를이 모델하는 방법에는 여러 가지가 있습니다.
단일 열에서 모든 것을 저장에서 "색인"에 대한 여러 가지 다른 테이블과 각 하위 엔터티에 대한 다른 테이블을 가지고에 이르기까지 HBase를이 모델하는 방법에는 여러 가지가 있습니다.
일반적으로 당신이 읽고 액세스 패턴을 쓰기에 따라 HBase와의 데이터를 모델링 말하기. R 예를 들어 열 가족 fo를 디스크에 다른 파일에 저장됩니다. 하나의 데이터를 필요로하고 다른되지 아니한 경우가 많은 경우에는 두 개의 열 가족에 데이터를 분할하는 이유입니다. 기타
여기에 슬라이드 여기에 비디오를 찾을 수 있습니다 HBaseCon 2012 년 이안 Varley에 의해 HBase를 스키마 디자인에 대한 좋은 프리젠 테이션이있다
from https://stackoverflow.com/questions/15218672/migrating-from-mongodb-to-hbase by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] HBase를 REST 호출 - 점점 정크 문자 "\ X0A" (0) | 2019.09.25 |
---|---|
[HADOOP] 이는지도 작업의 수를 결정하고 하이브에서 작업을 감소? (0) | 2019.09.25 |
[HADOOP] CDH 의사 클러스터에 JobTracker를하고 Tasktracker을 시작하지 못했습니다 (0) | 2019.09.25 |
[HADOOP] JobTracker를 UI는 하둡 작업의 진행률을 표시하지 (0) | 2019.09.25 |
[HADOOP] HBase를 사용하여 Java에 연결할 수 없습니다 (0) | 2019.09.25 |