전투 기술 : 하나의 테이블 천억 빅 데이터 통신 장면, + 교체 CarbonData 임팔라 케이스 불꽃을 사용하여

개인 블로그 탐색 페이지 (클릭 오른쪽에있는 링크를 개인 블로그를 엽니) : 다니엘은 기술 스택에 당신을 데려 갈 

[배경]

국내 모바일 게임 포인트 임팔라 어셈블리 하루의 100TB에 대한 세부 사항을 처리하는 단일 통신 서비스의 세부 사항을 사용하여 처리하는, 하나의 테이블에 기록적인 수준 이상 백억 하루의 세부 사항, 임팔라 프로세스의 사용에 문제가있는 것입니다 :

  1. 하나의 저장 형식의 마루 정보를 사용하여 데이터 테이블 + MSISDN 번호는 임팔라 쿼리, 파티션을 사용하지 않는 쿼리 시나리오, 쿼리 성능이 상대적으로 가난을 사용하여 시간 분할을한다.
  2. 임팔라를 사용하는 과정에서, 당신은 성능 (느린 동기화 메타 데이터 카탈로그 메타 데이터 확장 결과로) 문제, 동시 쿼리의 성능 저하를 많이 만난다.
  3. 동시 쿼리 수는 일반적으로 약 20에 도달하면 임팔라는 MPP 아키텍처에 속하는 만, 백 개 노드 수준을 수행 할 수 있습니다, 전체 시스템의 처리량이 전체 용량에 도달, 확장 노드는 처리량을 향상시킬 수 없습니다.
  4. 하둡 클러스터가 임팔라, 스파크, 하이브 및 기타 구성 요소 공유하는 동적 리소스를 달성 할 수 있도록 YARN 자원, 자원 관리 스케줄링을 통합 할 수 없습니다. 단일 쿼리 기능을 제 3 자에게 열기 세부 사항은 자원 분리 할 수 ​​없습니다.

[해결책]

우리는 고객에게 적합한 솔루션을 제공 모바일 게임 포인트, 위의 문제의 범위를 위해, 우리는 위의 문제에 대한 빅 데이터 팀을 분석하고, 메이크업 기술을 선택, 그 과정에서 우리는 몇 이닝이 지점으로 이동 입력으로 일반적인 비즈니스 시나리오는 각각 + CarbonData, Impala2.6, HAWQ, 그린 플럼, SybaseIQ 프로토 타입 검증, 성능 튜닝, 우리의 비즈니스 시나리오 데이터 로딩 성능을 최적화 CarbonData, 오픈 소스 커뮤니티 CarbonData에 쿼리 성능 및 기여 불꽃 결국 우리는 스파크 + CarbonData 프로그램을 선택,이 하둡 솔루션에 대한 일반적인 SQL이지만, 또한 간접적으로 하둡 마이그레이션에 SQL 전통적인 데이터웨어 하우스의 추세를 확인합니다. 우리의 검증 테스트와 이해와 함께 참조 커뮤니티 공식 웹 사이트 데이터 : CarbonData 특히 크게 가속화 할 더 많은 양의 데이터의 경우, 빅 데이터 하둡 생태계 고성능 데이터 스토리지 솔루션이다가, 스파크와 깊이있는 통합 실시, 스파크 (모든 생태 학적 기능과 호환됩니다 SQL, ML, DataFrame 등), 스파크 비즈니스 시나리오의 다양한 요구를 충족 + CarbonData 데이터는 다음과 같은 기능이 포함되어 있습니다 :

  1. 스토리지 : 라인 메모리 브로 유사한 열 저장 마루, ORC 유사한 행, 열 - 파일 저장. 법안, 로그, 물 및 기타 데이터에 대해 여러 인덱스 구조를 지원합니다.
  2. 계산 : 엔진의 스파크 깊은 통합 및 최적화 및 계산, 지원 및 프레스토, FLINK, 하이브 및 기타 엔진 도킹;
  3. 인터페이스 :
    1. API : 지원 DataFrame, MLlib, Pyspark 다른 네이티브 API 인터페이스;
    2. SQL은 : 스파크 기본 문법과 호환되는 구문 확장 CarbonSQL (업데이트 제거, 색인, 사전 집계 테이블 등)를 지원합니다.
  4. 데이터 관리 :
    1. 지원 증분 데이터웨어 하우징, 배치 데이터 관리 (노화 관리)
    2. 지원 데이터 업데이트, 삭제
    3. 지원 및 카프카 도킹, 실시간에 가까운 저장

       자세한 소개와 핵심 기술의 사용은 문서 https://carbondata.apache.org/를 보려면 공식 웹 사이트를 참조하시기 바랍니다  

소개 및 기술 선택

여기에 최고의 솔루션으로 하둡 기술에 SQL을 선택하는 이유에 대해 설명 보완.

많은 사람들의 연락 데이터는이 나타납니다 데이터의 양 측면에서 산업의 모든 사전으로, 사실에 5V 빅 데이터 기능, 지금은 매우 인기의 IoT 모바일 인터넷 데이터에 대한 기존의 인터넷에서 데이터, 있다는 것을 알고 성장의 3 자릿수로. 볼륨, 속도, 다양성, 가치, 정확성 : 그리고 지금 데이터 성장은 이제 모바일 인터넷과 빅 데이터를 포함하여 사물의 인터넷을 포함한 앞으로 다섯 개 가지 기능을 넣어, 가속 성장의 추세를 보이고있다. 데이터웨어 하우스의 성장 과제 기존의 데이터 양이 더 발생했습니다.

전통적인 데이터웨어 하우징 과제 :

데이터 시스템은 끊임없이 진화하는 동안

• 스토리지의 진화 : 오프라인, 니어 라인 -> 모든 온라인

스토리지 인프라 • 진화 : 중앙 집중화 된 스토리지 -> 스토리지 분산

• 스토리지의 진화 모델 : 고정 된 구조 -> 유연한 구조.

진화 데이터 처리 모드

• 고정 된 알고리즘 모델 고정 -> 유연한 알고리즘 유연한 모델

진화의 데이터 처리 유형

• 구조화 단일 소스 컴퓨팅 중앙 -> 멀티 구조 멀티 소스 분산 컴퓨팅

데이터 처리 아키텍처의 진화

• 정적 데이터베이스 처리 -> 데이터 실시간 / 스트리밍 / 대용량 처리

킴볼은 데이터베이스 변경의 부모에 대한 상기 한 관점을했다 :

   킴볼의 핵심 아이디어 :

  가공하는 데이터의 개수와 전통적인 창고 하둡에서 3 개로 분리 된 종래의 데이터베이스 처리부 변경 하둡 :

• 저장 층 : HDFS

• 메타 데이터 레이어 : Hcatalog

• 쿼리 층 : 하이브, 임팔라, 스파크 SQL

더 많은 사용자가 선택할 수 있도록 읽기에 대한 스키마 :

원래의 포맷 오기 • 데이터 저장 층

• 메타 층을 통한 대상 데이터 구조를 관리하기위한

• 쿼리 층에서 데이터를 추출하는시기를 결정하는

• 후 데이터에 익숙 장기 탐사 및 사용자, 당신은 쿼리 성능을 향상, 테이블의 중간 경화 쓰기 모드에 스키마를 취할 수 있습니다

아니오.

RDBMS 기반 데이터 처리 모드

데이터 처리 모드에 기초 하둡

1

강력한 일관성

최종 농도는, 데이터의 정밀도는보다 효율적인 처리

데이터 변환해야합니다, 또는 후속 절차를 계속할 수 없습니다

데이터 원본 포맷으로 변환, 장기 저장을 할 수 없습니다

데이터가 청소해야합니다, 패러다임

데이터는 청소 및 정상화하지 않는 것이 좋습니다

4

데이터는 기본적으로 물리적 테이블에서 파일 액세스의 낮은 효율을 저장

파일에 저장된 데이터의 대부분은, 테이블은 물리적 구조화 문서에 해당

5

메타 데이터는 사전 테이블에 한정

확장 된 서비스 메타 데이터 HCatalog

6

SQL 데이터 처리 엔진은 단 하나의 종류이다

오픈 데이터 처리 엔진 : SQL, NOSQL, 자바 API

(7)

데이터 처리는 완전히 IT 직원에 의해 제어됩니다

데이터 엔지니어들은 데이터 과학자, 데이터 분석가가 데이터 처리에 참여할 수 있습니다

하둡 데이터웨어 하우스에 SQL

데이터 처리 및 분석

     하둡에 대한 • SQL

     • 쿠두 임팔라 +, 스파크, HAWQ, 프레스토, 하이브 等

• 데이터 모델링 및 저장

           읽기에 대한 • 스키마

           • 아 브로 & ORC & 마루 & CarbonData

• 스트림 처리

           • 수로 + 카프카 + 점화 스트리밍

SQL 온 하둡 변화를위한 기술 개발과 성숙

기술적 분석을 위 한 후에, 우리는 궁극적으로 우리의 플랫폼의 미래 방향과 기술의 하둡 데이터웨어 하우스의 진화에 SQL을 선택, 누군가가 우리는 또한 하둡과 MPPDB에 SQL을 넣어 여기 왜 MPPDB이 기술을 선택하지 마십시오 물어이 있어야 할 비교 분석을 통해 (주 임팔라 기술 유사한 MPPDB 실제로)

비교 항목

하둡에 대한 SQL

MPPDB

결함 허용

전체 쿼리를 다시 제출하지 자동으로 재 시도에 실패하는 세밀한 작업입니다 세분화 된 결함 허용, 관용, 지원, 않습니다

결이 거친 내결함성, 역방향 노드 (낙오자 노드)를 처리 할 수 ​​없습니다. 내결함성은 전체 쿼리가 실패의 원인이됩니다 대단위 작업 실행 실패, 시스템은 다음 결과를 얻을 수있는 전체 쿼리를 다시 제출하다

신장 성

클러스터 노드의 수는 수백 또는 수천 확장 할 수 있습니다

(우리는 최대 32 그린 플럼 기계 성능의 저하를 사용하기 전에 이러한 인증과 같은) 어려운 50 개 노드에 대해 일반적으로, 100 개 이상의 노드로 확장하는

동시성

사용 가능한 자원의 증가 클러스터 크기, 동시 거의 선형 성장의 수

MPPDB이 쿼리에 대한 자원을 극대화 할 때, 동시 쿼리의 수는 일반적으로 20에 도달 쿼리 성능을 향상시키기 위해, 따라서 지원 동시의 수를 낮추고, 전체 시스템의 처리량은 전 부하 상태에 도달

쿼리 지연

1, 데이터 크기가 1 PB, 하나의 테이블 10 억 레코드 수준보다 낮은, 하나의 쿼리 대기 시간이 10 초 주위에 일반적으로

2, 데이터 크기를 확인하기 위해 1 PB보다 클러스터 자원을 증가시켜 크 쿼리 성능

도 1을 참조하면, 데이터 사이즈가 하나의 테이블에 기록 1000000000 레벨이 1 PB 미만, 단일 질의는 밀리 초 또는 심지어 통상적 MPP 지연 쿼리의 결과를 반환 할

2, 데이터 크기가 1 PB보다 큰, 건축 제한에 따라 쿼리 성능이 급감 나타날 수 있습니다

데이터 공유

저장소와 별도의 일반적인 저장 포맷을 계산하는 다른 데이터 분석 엔진을 지원할 수는 데이터 마이닝을 포함

독점 저장 포맷 MPPDB 데이터베이스는 다른 데이터 분석 엔진을 직접 사용할 수 없습니다

[효과] 반응식 실시

   CarbonData 또는 임팔라는 피크 기간 동안, 지금까지 문서 하루에 100TB보다 금액 이상의 처리를 실행 한 후 라인 점화 +에 마지막 9에서 게임 포인트 2018, 임 팔 라 평균 한 60메가바이트 전에 데이터로드 성능 /의 S / 인터넷 단일 1백메가바이트에이야 성능, 일반적인 비즈니스 시나리오에서 게임 포인트, 20 개 동시 쿼리, 스파크 + CarbonData 쿼리 성능입니다 배 이상 임팔라 + 마루에서 쿼리 성능을 제공합니다.

다음과 같은 문제를 해결하는 동안 :

  1. 하둡 클러스터 리소스 공유, 임팔라 원사 자원을 통합 할 수없는 리소스 예약 관리, 스파크 + CarbonData는 동적 리소스 스파크, 하이브 및 기타 구성 요소로 다른 사람들과 공유하고, 균일 한 리소스 예약 관리를 실을 수 있습니다.
  2. 하둡 클러스터 확장 문제, 임팔라 기계 전에 만 백 개 단위를 사용, 지금 + CarbonData 클러스터 규모에 수천 개의 노드를 할 수있는 스파크.

참고 구현 프로세스 항목 :

  1. 데이터가 작은 파일이 너무 큰 클러스터와 피할 문제를 위해, 부하 방법의 CarbonData 지역 종류를 사용하여로드,로드는 지정된 데이터 테이블에 압축 수준을 지정할 수 있습니다 각 테이블 부하 적은 양의 데이터뿐만 아니라, 기계의 소수에로드 작은 파일이 과정에서 발생하는 부하를 병합합니다.
  2. 질의 트래픽 특성이 상기 필터들은 (예를 들면 통신 서비스의 가입자들은 번호 조회 등) 정렬 열 특성 데이터 테이블에 질의 필드 및 조회 주파수의 첫 번째 필드에 배치 정렬 열 내림차순에서 필드의 순서를 설정 쿼리 주파수 이하인 경우, 다음 하이에서 로우로 고유 값 필드에 따라 상기 쿼리 성능을 향상시킬 수있다.
  3. 데이터 테이블 제공 블록 크기 크기를 작성, 단일 데이터 테이블의 파일 블록 크기가 TABLEPROPERTIES에 의해 정의 될 수있다, MB, 기본값 1,024메가바이트의 단위. 데이터의 양이 우리의 경험을 바탕으로 실제 데이터 테이블을로드 할 때마다에 따라이 : 일반적으로 권장 데이터 테이블 블록 크기의 소량 256메가바이트로 설정, 데이터 테이블의 블록 크기의 많은 양의 5백12메가바이트로 설정됩니다.
  4. 튜닝 쿼리 성능뿐만 아니라 비즈니스 쿼리의 특성은 같은 데이터 맵 같이 쿼리 고주파 필드는 쿼리 성능을 향상시키기 위해 블룸 필터를 만들 수 있습니다.
  5. 데이터 로딩 및 쿼리에 대한 일부 스파크 관련 매개 변수는, 의도적으로 매개 변수를, 하나 하나가 도입되지 않는 매개 변수와 관련된 목표 조정에서 성능 병목 첫째 결합 SparkUI 점을 ​​분석, 성능 튜닝 기술임을 명심하고 대상 조정 만 전송 하나 또는 여러 매개 변수에 관한 조정을 조정, 효과를 봐 매개 변수를 너무 많이 한 시간 조정을 기억하지 않습니다, 조정 뒷면에 적용되지 않습니다.

첨부 자바 / C / C ++ / 기계 학습 / 알고리즘 및 데이터 구조 / 프런트 엔드 / 안드로이드 / 파이썬 / 프로그래머 읽기 / 하나의 책 책 Daquan의 :

(건조 개인 블로그에이 열 오른쪽 클릭) : 기술 건조한 꽃을
===== >> ① [자바 다니엘은 진보의 길에 당신을 데려] << ====
===== >> ② [+ ACM 알고리즘 데이터 구조 다니엘 진보에 도로에 걸릴] << ===
===== >> ③ [데이터베이스 다니엘 진보에 도로에 걸릴] << == ===
===== >> ④ [다니엘 웹 프런트 엔드는 고급가는 길에 당신을 데려 갈 수 있습니다] << ====
===== >> ⑤ [기계 학습 파이썬 다니엘은 당신에게 항목을 고급 도로] << ====
===== >> ⑥ [건축가 다니엘은 진보의 길에 당신을 데려] << =====
===== >> ⑦ [C ++ 다니엘은 도로에 당신을 데려 갈 고급] << ====
===== >> ⑧ [다니엘은 진보의 길에 당신을 데려 갈 IOS] << ====
=====> > ⑨ [웹 보안 다니엘은가는 길에 당신을 데려 갈 고급] << =====
===== >> ⑩ [리눅스 운영 체제와 다니엘은 진보의 길에 당신을 데려] << = ====

더 불로 과일이 없다, 당신이 젊은 친구가, 친구가 기술을 배우고 싶은 희망, 도로의 방법으로 모든 장애물을 극복, 기술에 묶어 책을 이해 한 다음 코드에 노크, 원리를 이해하고 연습을 갈 것입니다 결정 그것은 당신의 미래, 당신에게 꿈을 생활, 직장을 가져올 것이다.

게시 47 개 원래 기사 · 원의 칭찬 0 · 조회수 289

추천

출처blog.csdn.net/weixin_41663412/article/details/104848375