빅 데이터 기술 생태계 : 하둡, 하이브, 스파크 차이와 관계

빅 데이터 자체는 매우 광범위한 개념, 하둡 에코 시스템 (또는 팬 생태계가) 독립 실행 형 규모의 데이터 처리 및 출산보다 더 처리하기 위해 기본적으로있는 것입니다. 당신은 부엌을 필요로하는 다양한 도구로 비교할 수 있습니다. 부엌 용품은 각각 자신의 사용을뿐만 아니라, 서로 중첩된다. 당신이 벗겨 칼이나 비행기를 사용할 수있을 때 당신은 수프 냄비에 수프 한 그릇을 먹을 수 있습니다. 그러나 각 도구는 이상한 조합 일 수 있지만, 자신의 특성을 가지고 있지만, 반드시 최선의 선택.

빅 데이터는 먼저 다음 큰 데이터를 저장 할 수 있습니다.

기존의 파일 시스템은 독립형이 아닌 다른 시스템에 걸쳐 있습니다. HDFS (하둡 분산 파일 시스템)에 본질적으로 기계의 수백 또는 수천이 될 수에서 많은 양의 데이터를 위해 설계,하지만 당신은 파일 시스템의 많은 대신에 파일 시스템을 참조한다. 예를 들어, 당신은 내가 데이터 / HDFS / tmp 디렉토리 / 파일 1을 얻을하고 싶은 말은, 당신은 파일 경로, 그러나 많은 다른 시스템에 저장된 실제 데이터를 인용했다. 사용자로 독립 실행 형 파일에서 같은 당신이 어떤 분야에서 트랙을 걱정하지 않는다 무엇을 분산처럼 알 필요가 없습니다. 당신을 위해 이러한 데이터의 HDFS 관리.

데이터가 아래에 저장 한 후에는 데이터를 처리하는 방법에 대해 생각하기 시작. HDFS 데이터의 전반적인 관리는 당신을위한 다른 시스템에있을 수 있지만, 데이터가 너무 큰이지만. 기계 (예 : 모든 고화질 영화 나 더의 전체 도쿄 크기의 열 이력으로 오 큰 데이터)를 P-T의 데이터를 읽고, 기계는 몇 일 또는 몇 주 동안 천천히 실행해야 할 수도 있습니다. 많은 기업의 경우, 하나의 치료는 마이크로 블로그 24 시간 뜨거운 보 업데이트로서, 그것은 24 시간 이내에 처리를 완료해야합니다 같은 참을 수있다. 내가 가공 기계 많이 걸릴 경우 기계가하는 방법 등 복잡한 계산과를 완료하기 위해 컴퓨터간에 데이터를 교환하기 위해 서로 통신하기 위해, 해당 작업을 다시 시작하는 방법에 끊었 경우 그래서, 나는, 작업의 할당에 직면했다. 이는 맵리 듀스 / TEZ / 스파크 기능입니다. MapReduce를 계산 엔진은 제 세대 TEZ 스파크 및 두 번째 세대이다. MapReduce의 디자인은 매우 단순화 된 계산 모델,지도를 이용하여 이미 큰 데이터 필드를 처리 모델 문제의 상당 부분을 사용하여, (중간체 셔플 시리즈) 두 계산을 줄인다.

지도 감소 란 무엇입니까?

당신이 유사한 HDFS에 저장된 큰 텍스트 파일을 계산하려는 경우 고려, 당신은 텍스트의 각 단어의 발생 빈도를 알고 싶어요. 당신은 맵리 듀스 프로그램을 시작했다. 지도 단계는 동시에이 문서의 여러 부분을 읽을 기계의 수백 각 부분에 등 이러한 쌍 (I 별도로 단어 빈도 통계, 유사 (안녕하세요, 12,100 회), (세계, 15,214 번), 읽은 이 함께지도를 결합,) 단순화하는 단계; 위와 같이 자신의 세트가 있었다 기계의 수백, 다음 기계의 수백 시작 프로세스를 줄일 수있다. 컴퓨터에서 감속기 기계 매퍼 통계 결과 통계 결과가로 시작하는 모든 어휘를 받고, B 기계 B는 (물론, 실제로 정말 따라 문자로 시작하지 않는의 시작 부분에 나타납니다,하지만 기능 해시 값을 생성하기 위해 ) 확실히 훨씬 적은 다른 것보다 X 유사한 단어의 처음부터 데이터의 문자열을 피하고, 각 기계 격차의 데이터 처리 작업 부하를 원하지 않는다. 그런 다음 다시 합산한다 감속기 (안녕하세요 12100) + (안녕하세요 12,311) + (안녕하세요 345,881) = (헬로, 370,292). 각 감속기 당신은 전체 문서의 단어 빈도의 결과를 얻을, 위와 같이 처리됩니다.

이것은 매우 간단한 모델이 될 것으로 보인다, 그러나 많은 알고리즘이 모델에 대해 설명 할 수 있습니다.

지도 + 간단한 모델을 절감하는 것은 사용하지만 쉽고, 매우 폭력, 아주 노란색,하지만 매우 무거운 편이다. 새로운 기능과 같은 캐시 메모리 외에 두 번째 TEZ의 발생 및 스파크는 본질적으로지도 / 모델이 일반적이다 줄일 수 있도록, 그래서와지도 사이의 경계는 vaguer,보다 유연한 데이터 교환, 적은 디스크 읽기 감소 더 쉽게 더 높은 처리량을 달성하기 위해 복잡한 알고리즘을 설명하기 위해, 물품.

맵리 듀스로, TEZ 및 스파크 후, 프로그래머가 발견, 맵리 듀스 프로그램은 실제 문제를 작성합니다. 그들은이 과정을 단순화하고 싶다. 당신이 어셈블러 언어를 가지고있는 것처럼 당신은 거의 모든 작업이 완료 될 수 있지만 그것은,하지만 당신은 여전히 ​​성가신 생각합니다. 당신은 알고리즘과 데이터 처리 절차의 레이어를 설명하는 높은 수준의 추상적 언어를 갖고 싶어. 그런 다음 돼지 및 하이브있다. 돼지는 맵리 듀스을 설명하는 스크립트 방식에 가까운, 하이브는 SQL을 사용하고 있습니다. 그들은 스크립팅 및 SQL 언어 인 맵리 듀스 프로그램에 번역 계산 계산 엔진을 던졌다,하지만 당신은 프로그램을 작성하는 간단하고 직관적 인 언어, 지루한 맵리 듀스 프로그램에서 해방하고 있습니다.

당신은 하이브가되면, SQL 대비 자바는 큰 장점을 가지고 있음을 발견했다. 하나는 쓰기가 너무 쉽다는 점이다. 그냥 단어 빈도가 사용하는 SQL은 한두 줄을 무엇을 설명, 맵리 듀스 라인의 수백에 대해 쓸 수 있습니다. 그리고 더 중요한 것은, 비 컴퓨터 사용자가 마지막으로 배경의 사랑을 느꼈다 : 다음 마지막으로 도움말 딜레마 엔지니어 구걸에서 해방 SQL 데이터 분석가, 이상한 한 번 쓰기 핸들러에서 해방 엔지니어를 쓸 것이다! . 모두 행복. 하이브 큰 데이터웨어 하우스의 핵심 구성 요소로 성장했다. 심지어 SQL에 완전히 설정 한 회사의 파이프 라인 작업의 대부분은, 모습이, 유지 관리가 용이 ​​이해하기 쉽게 변경할 작성하기 쉽게 설명합니다.

데이터 분석은 하이브 데이터 분석으로 시작하기 때문에, 그들은 맵리 듀스에 하이브가 거시기가 정말 느리게 실행 발견! 세트 24 시간 이내에하더라도 마무리, 파이프 라인 운영에 아무 어쨌든, 업데이트 권고와 같은 24 시간이없는 경우가 있기 때문입니다. 그러나 데이터 분석, 사람들은 항상 빠르게 실행 할 수 있어야합니다. 예를 들어,이 프로세스는 몇 분 또는 몇 시간이 걸릴 수 있습니다, 다음 거대한 웹 사이트에 대용량 데이터를 들면, 풍선 인형 페이지 정지, 각각 시간을 유지하기에 지난 시간 내에 얼마나 많은 사람들을보고 싶습니다. 그리고이 분석은 상사와보고하기 위해 당신은 많은 사람들이 사랑 공 라흐마니노프 CD를 본 방법에 따라 얼마나 많은 사람들이 당신의 긴 행진의 첫 번째 단계 일 수 있으며, 고객은 더 비참한 사람은 Mensao 여성입니다 더 많거나 젊은 예술가 / 여자보다. 당신은 메뚜기가 빠르고 신속하고 빠르게 말할 수있는 유일한 잘 생긴 엔지니어로, 대기의 고문을 견딜 수 없다!

그래서 임팔라, 프레스토, 출생 드릴 (물론 그들을 나열하지 않습니다 수많은 잘 알려진 비 대화식 SQL 엔진이있다). 핵심 아이디어는 할 SQL을 최적화하기 위해 더 구체적으로 자원에, 우리는 SQL 라이터 필요 더 적극적인 접근이 너무 보수적, 너무 강한, 너무 일반적이며, 때문에 세 가지 시스템, 맵리 듀스 엔진이, 너무 느린 것입니다, 그래서 많이 필요로하지 않습니다 을 보장하기 위하여 결함 허용 (작업을 다시 시작 시스템 오류로 인해 큰 거래를하는 경우 등 몇 분 이내에 같은 전체 처리 시간이 짧은 단어). 이러한 시스템은 사용자가보다 신속 안정성의 일반적인 특성의 비용으로 SQL 작업을 처리 할 수 ​​있습니다. 맵리 듀스는 만도 인 경우, 결과적으로 잘라 위의 세 가지가 칼, 날카로운 스마트 지간 성교, 그러나 너무 많은 물건을 할 너무 열심히하지 않는 것을 두려워하지 않습니다.

이러한 시스템은, 솔직히 말해서, 예상되는 인기를 도달하지 않았다. 이때 때문에 이는 두 이종에서 이루어진다. 그들은 TEZ / 스파크 및 SparkSQL에 하이브 있습니다. 그들의 디자인 철학은 맵리 듀스 천천히,하지만 나는 GM 스파크 TEZ의 새로운 세대 엔진을 계산하거나 SQL을 실행하는 경우, 그때 빠르게 실행할 수 있습니다. 그리고 사용자는이 시스템을 유지 관리 할 필요가 없습니다. 당신의 부엌이 제한된 식사를하는 데 필요한 작은, 게으른 사람, 세련 경우, 당신은 에너지를 구울 주방 용품을 많이 절약 할 수 있습니다 증기를 끓일 수있는 밥솥을 살 수있는 것입니다.

이상의 설명은, 데이터웨어 하우스의 기본 프레임 워크이다. 맵리 듀스 / TEZ / 스파크 이상 실행 하단 HDFS는 위 하이브, 돼지를 실행합니다. 또는 직접 HDFS에 임팔라, 드릴, 프레스토를 실행합니다. 이 해결책은 저속의 데이터 처리를 요구한다.

나는 그것을 처리 할 경우 더 빨리 그?

나는 유사한 마이크로 블로깅 회사라면, 내가 보여주고 싶은 것은하지 24시간 뜨거운 보, 나는 한 분 지연 업데이트 끊임없이 변화하는 히트 목록을보고 싶어하고, 위의 방법은 능력이 없습니다. 또 다른 컴퓨팅 모델은 (스트림)이 산출된다 스트리밍하는 개발되었다. 폭풍 가장 인기 스트림 컴퓨팅 플랫폼입니다. 아이디어는 계산이 더 많은 실시간 업데이트를 달성하려면 데이터 거래의 흐름? 또는 단어 빈도 통계를 예, 내 데이터 스트림은 하나 개의 단어 때, 왜 오지 않는 것이 흘러, 나는 그들이 측면을 통과하자 나는 잠시 동안 컴파일 시작했다. 흐름 계산을 매우 빠르게 하드웨어, 거의 지연,하지만 약점이 유연하지, 당신은 모든 데이터가 사라를 통과 한 후, 당신이 포함되지 않은 일들이 계산을 할 수 없습니다 것을 미리 알고 있어야 계산합니다. 그래서 좋은 일이지만, 위의 데이터웨어 하우징 및 배치 시스템을 대체 할 수 있습니다.

별도의 모듈은 카산드라, HBase를, MongoDB를, 그리고 많은 많은 많은 많은 다른 (더 상상할 수로)와 같은 KV 스토어는 다소도이다. 그래서, 키의 무리가 말했다 KV 저장, 나는 매우 빠르게 드롭 바인딩이 주요 데이터를 얻을 수 있습니다. 예를 들어, 나는 ID 번호를 사용하고 ID 데이터에 걸릴 수 있습니다. 이 작업은 맵리 듀스으로 수행하지만, 전체 데이터 세트를 스캔 할 가능성이 높다 할 수있다. KV 저장하고이 목적을 위해 특별히이 작업, 모든 메모리를 처리하는 데 전념하고 최적화 된 촬영. 아마 한 몇 십분 등, 여러 P에서 ID 번호 데이터를 찾을 수 있습니다. 이 전문 데이터 회사의 운영의 큰 숫자가 크게 최적화되어 있습니다. 예를 들어, 나는 전체 사이트에 대한 주문의 수는 독립형 데이터베이스 저장을 할 수는 없지만, 내가 KV 저장 저장 간주하는, 페이지의 순서 페이지 수에 따라 콘텐츠를 찾을하라는 명령을 있습니다. KV 저장 철학은, 그들 대부분은 아마도 더 강한 일관성 보장 (다른 컴퓨터에 분산 된 다른 데이터는 읽을 때마다 다른 결과를 읽을 수 없습니다 중합가, 가입 할 수없는 복잡한 계산을 처리 할 수 ​​없습니다 기본적으로 은행 송금은) 강력한 적합성 요구 사항과 유사한 작업을 처리 할 수 ​​없습니다. 아, 그러나 그것은 빠릅니다. 빠른.

각각의 다른 KV의 스토어 디자인은 서로 다른 장단점을 가지고, 어떤 속도, 어떤 높은 용량, 일부는 더 복잡한 작업을 지원할 수 있습니다. 당신을위한 권리가 있어야합니다.

또한, 등등 두싯 분산 데이터베이스, 데이터 교환 Protobuf 코드와 라이브러리, 사육사 높은 일관성을 분산 협력 시스템 액세스 및 학습 등의 시스템과 좀 더 특별한 시스템 / 구성 요소가 있습니다.

너무 많은 혼란 도구, 동일한 클러스터에서 작동, 우리는 서로 순서대로 작업을 존중해야합니다. 또 다른 중요한 요소 스케줄링 시스템 있도록. 지금 가장 인기가 원사입니다. 중앙 관리로 그를 볼 수 있습니다, 부엌에서 어머니 같은 감독, 헤이, 동생은 야채, 당신은 닭에게 칼을 취할 수 끝난 잘라. 오래 당신은 우리가 즐겁게 요리를 드롭 할 수있는, 당신의 어머니 할당을 순종.

당신은 빅 데이터 생태계는 주방 도구 생태계, 생각할 수 있습니다. 다른 요리, 중국 요리, 일본 요리, 프랑스 요리를 만들기 위하여는, 당신은 다양한 도구가 필요합니다. 그리고 손님의 요구는 당신의 부엌은 지금까지 발명 된,도 보편적 인 부엌은 모든 상황을 처리 할 수있는, 그래서 점점 더 복잡해질 것이다 복잡합니다.

높은 기사를 읽고 추천

40 + 모두 여기에 빅 데이터 개발 [W] 튜토리얼의 연봉!

제로 기반 빅 데이터 퀵 스타트 자습서

자바 기본 과정

웹 프론트 엔드 개발을 기반으로 자습서

빅 데이터 엔지니어는 일곱의 개념을 이해한다

클라우드 컴퓨팅 및 빅 데이터 다섯 동향의 미래

빠르게 대용량 데이터의 자신의 지식을 구축하는 방법

추천

출처blog.csdn.net/chengxvsyu/article/details/92206182