컴퓨터 데이터는 많은 다른 형식 및 볼륨에 있을 수 있습니다. 날씨 센서, 건강 트래커, 그리고 심지어 에어컨 장치 많은 양의 큰 데이터 솔루션을 필요로 하는 데이터를 생성 합니다. & http://www.aliyun.com/zixun/aggregation/37954.html "> nbsp; 그러나, 어떻게 결정 합니까 데이터 중요 하 고 얼마나 많은 그 정보는 유효, 보고서에 포함 되는 가치 또는 경고 조건 검색 데 도움이 됩니다? 이 문서는 데이터 집합 기계, 대용량 데이터 기술 및 Hadoop을 사용 하 여 솔루션의 많은 수의 사용을 지 원하는 과제 중 일부를 소개 합니다. 데이터 저장 및 구축의 기본 메커니즘을 탐험 하기 전에 정보 저장소, 그것을 저장 하는 방법 및 그것을 저장 하려는 시간을 고려 하 고 해야 합니다.
Hadoop과 더 큰, 하지만 항상 제기, 문제는 그것만 연결할 수 많은 양의 정보를 저장 하는 데이터 저장소를 제공 합니다. 비록이 방법은 컴퓨터 데이터를 저장 하기 위한 좋은 적합 같은 소리, 그것은 많은 양의 시간에 따른 정보를 저장 하는 사람들이 유도 수 있습니다. 이 포즈는 문제가 되지 않기 때문에 Hadoop 데이터를 저장할 수 없습니다 하지만 실시간, 효과적인 정보를 필요로 하는 환경에 불필요 한 부담을 추가 하기 때문에.
Hadoop을 사용 하 여 컴퓨터 데이터를 저장 하는 때 따라서, 그것은 신중 하 게 관리를 필요 합니다. 데이터를 저장 하 고 나중에, 필요한 데이터를 검색할 수 있습니다 당신은 계획을 만들 필요가 가정 수 없습니다. 예를 들어이 데이터를 사용 하 여 실시간 경고를 발행 하려면, 당신은 수 있습니다 싶지 가려낼 최신 정보를 데이터 포인트의 년. 6 개월 전부 터에서 구축 동향 및 초기 계획 정보, 2 년 전, 또는 심지어에서 데이터를 돕기 이외에 문제를 식별 하는 경우 유용 하 게 될 것입니다 하 고 경고를 보내는.
저장할 데이터를 선택
저장 하려는 데이터의 의도적인 선택을 확인 합니다. 자신에 게 다음과 같은 질문 하 고 데이터를 저장할 수에 대 한 계획 및 스토리지의 길이.
얼마나 많은 데이터 저장 하려는 당신은?
이 정도의 데이터를 확인 하려면 당신의 기록과 데이터를 도착 하는 시간 간격의 크기를 예측할 수 있습니다. 이 정보에 따라, 얼마나 많은 데이터, 얼마나 많은 데이터 포인트 저장 됩니다 만들고 얼마나 많은 정보는 매일 또는 매주 사용의 좋은 생각을 해야 합니다. 예를 들어 3-필드 데이터 단위 (날짜, 시간, 데이터 요소 등), 비록 작은, 만들기 데이터의 KB 약 15 초 마다 기록 됩니다. 2000 컴퓨터에서이 값을 곱하면 고 MB 데이터 매일 생성 됩니다. 여러 데이터 요소를 기록 하는 경우 데이터의 양이 더 증가 합니다.
얼마나 오래 당신이 이전 데이터를 저장 하 시겠습니까?
자신에 게 두 가지 질문을 물어: 얼마나 오래 전에 모든 데이터 요소를 볼 수 있도록 하려면, 얼마나 오래 전에 하 고 싶은 추세를 확인할 수 있습니까? 일주일 전에에서 단일, 최신 데이터 문제 해결 되 면 그 정보에 대 한 필요성은 작은 있기 때문에 매우 유용 하지 않습니다.
그걸 염두에 두고, 벤치 마크를 설정 해야 합니다. 데이텀은 데이터 요소 또는 정상 작동을 나타내는 매트릭스입니다. 기준선, 추세 또는 예외의 피크를 식별 하기 위해 쉽습니다.
어떻게 벤치 마크를 확인 하 시겠습니까?
위의 질문에 관하여 기준선 저장 새 데이터 정상적인 수준을 초과 하는 시점을 결정 하는 비교 값입니다. 예를 들어 디스크 공간을 기록 하 고 특정 백분율 또는 사용 가능한 디스크 공간의 양을 너무 작습니다 나타내는 하드 데이터에 임계값 설정 수 있습니다.
벤치 마크는 다음과 같은 세 가지 기본 유형 중 하나일 수 있습니다.
기존 벤치 마크: 컴퓨터 데이터를 모니터링 하는 경우 비교에 대 한 벤치 마크 이미 존재할 수 있습니다. 예를 들어 팬 RPM에서 실행 되는 지속적으로 조정 될 것 이다 하지 고정된 벤치 마크. 벤치 마크를 제어: 제어, 그리고 다음 모니터링, 구성 요소 및 시스템, 기준선 제어 값을 보고 값을 비교 하 여 결정 됩니다. 예를 들어 온도 제어 시스템 문제 및 보고 온도 집합이 있다. HVAC는 5 ° c로 설정할 수 있습니다 및 보고서 온도 4.8 ° c로 설정 그래서이 예제에서 설정된 (필수) 온도 비교에 대 한 실제 데이터에 대 한 벤치 마크 된다. 역사적인 벤치 마크: 벤치 마크의이 유형은 초기 기존 값에 따라 계산 하는 시스템에 적용 됩니다. 예를 들어 높이 또는 강의 속도 모니터링은 하지 기초를 알고, 상황에 하지만 이전 식별에 경험.
역사적인 벤치 마크 명확 하 게 변경 하 고는, 그리고 역사적으로 벤치 마크 설정 되지 않습니다 일반적으로 하드 데이터, 제외 드문 경우에. 대신, 역사적 벤치 마크 센서 정보에 따라 역사적 벤치 마크를 설정 하는 변수 및 있는 값 이어야 합니다.
예를 들어 시간이 지남에, 디스크 공간을 추가할 수 있습니다 또는 이유는 응용 프로그램 정보를 필요로 하 고 시간 변경 될 수 있습니다. 백분율로 비교 벤치마킹 작동 하지 않을 수 있습니다. 10 테라바이트의 스토리지, 5%는 매우 낮은 스토리지 간주 됩니다 있고 아무 문제가 있는 % 때 사용. 하지만 당신이 있을 때 결핵 TB 저장, 5% 이므로 2.5 TB, 많은 경고 임계값으로 사용할 수 없습니다.
벤치 마크 보면 과거 값 계산 될 필요가 있다. 따라서, 비교, 얼마나 많은 데이터와 이전 데이터는 얼마를 결정 해야 합니다. 지난 주, 지난 달, 또는 지난 6 개월에서에서 데이터와 새 데이터를 비교 합니까?
페인트 및 기록 데이터를 보고 하 시겠습니까?
저장 하 고 정보의 그래픽 표현을 생성할 수 있습니다 하지만 기본 스토리지와 마찬가지로 특정 분 돌아갈 수 없습니다 또는 두 번째. 그러나, 차트 정보를 생성 하기 위하여 하루 15 분 마다에 대 한 최소, 최대 및 평균을 기록 하려는 수 있습니다.
이러한 문제를 고려, 후 데이터를 저장 하는 근본적인 문제를 해결 하는 방법, 경고 및 알림, 실행 하는 예외를 확인 하는 방법 및 과정에서 생성 된 정보의 양을 처리 하는 방법을 분석.
Hadoop에 데이터 저장
첫 번째 질문은 Hadoop에 데이터를 저장 하는 방법. 이 주제는이 기사의 범위 이기 때문에 대 한 자세한 내용은 리소스에 링크를 참조 하십시오.
일반적으로, Hadoop 등 정보 및 저장을 위한 실시간 데이터베이스 사용할 수 좋은 곳이 아니다. Hadoop 시스템에 데이터를 연결 하는 데 실용적인 솔루션 이지만, 근처 선형 SQL 데이터베이스를 사용 하 여 데이터를 저장 하는 더 나은 선택 이다.
하지만이 Hadoop 제한 당신을 방해 못하게. 데이터베이스에 데이터를 로드 하는 유용한 방법 기존 열려 있는 파일을 첨부 하 여 Hadoop 분산 파일 시스템 (HDFS)에 영구 쓰기를 사용 하는 것입니다. 또한 CSV의 유일한 지원 특성의 데이터 레코드 일괄 처리를 사용할 수 있습니다. Hadoop은 집중으로 사용할 수 있습니다.
여기에 발생 하는 어려움 중 하나는 시간의 기간에 대 한 하나의 파일에 모든 다른 정보를 기록 하 고 다음 처리를 위해 정보 HDFS에 복사 것입니다. 또한 하이브 또는 HBase에서 액세스할 수 있는 마지막 HDFS 파일에 직접 작성할 수 있습니다.
Hadoop에서 많은 작은 파일은 덜 효율적이 고 적은 양의 큰 파일을 보다 유용 하 게. 클러스터에서 큰 파일을 보다 효율적으로 배포할 수 있습니다. 그 결과, 데이터는 클러스터의 다른 노드에서 더 배포할 수 있습니다. 이 배포 하기가 더 많은 노드가 있기 때문에 해당 데이터의 다른 블록 MapReduce 통해 정보를 처리 하는 데 더 효율적.
구성 또는 시간, 하루, 또는 더 큰 파일을 여러 명의 호스트, 기계, 또는 다른 주요 데이터 수집 모든 데이터의 긴 기간에 걸쳐 작은 금액으로 여러 데이터 요소에서 정보를 더 효율적입니다.
이 메서드는 각각의 서로 다른 행에는 수집가, 기계, 및 가능한 날짜, 후 라는 파일을 생성 합니다. 예: SiteID, Collectorid, datetime, Settemp, Reportedtemp.
데이터 시스템을 통해 널리 배포를 보장 하기 위해 중요 하다. 예를 들어 30 노드 Hadoop 클러스터 데이터를 효과적으로 처리 하는 동안 CPU 또는 디스크 I/O를 낭비 하지 않고 클러스터에 걸쳐 분산 될 할 수 있습니다. 이 배포가 가져옵니다 가장 빠른 처리 및 응답 시간, 중요 한 데이터를 모니터링 및 경고 목적으로 사용 할 수 있습니다.
단일 집중 장치는 여러 호스트에서 데이터를 수집 하 고 이러한 큰 파일에 정보를 기록 하 여 이러한 파일을 첨부할 수 있습니다.
이 방법으로 데이터를 분해 또한 의미 한다 데이터 호스트 및/또는 날짜에 기반으로 효과적으로 분할할 수 있습니다. 이 메일은 분석 및 정보 처리 보다 효율적 도구 하이브 등으로 이러한 특정 데이터의 처리를 제한할 수 있습니다 때문에.
하이브를 사용 하 여 데이텀 생성
아무 하드 또는 제어 벤치 마크 경우 첫 번째 작업 기준선과 정상 상태를 확인 하려면 통계 데이터를 만드는 것입니다.
이 정보를 변경할 수 있습니다 끊임없이, 기존 정보를 분석 하 여 시간이 지남에 기준선을 결정할 수 있을 필요가. 하이브에서 시간 동안, 최대, 최소 또는 평균 통계를 생성 하는 적절 한 쿼리를 사용 하 여이 정보를 분석할 수 있습니다.
목록 1에 표시 된 것 처럼이 정보 여러 센서와 호스트에서 온도 센서 데이터의 보고 된 값에 따라 계산 될 수 있다. 날짜별으로 데이터를 요약 합니다.
1을 목록입니다. 하이브를 사용 하 여 일정 기간에 대 한 최소/최대/평균 통계 생성
하이브 > 선택 To_date (From_unixtime (timelogged)), 호스트, 기계, 민 (Reportval), 맥스 (Reportval), AVG (Reportval)에서 임시 그룹 To_date (From_unixtime (timelogged)), 호스트, 기계; ... 2014-03-05 1 1 2 14 7.9957529165098652014-03-05 1 2 2 14 7.9923660018278582014-03-05 1 3 2 14 8.0037094779850552014-03-05 1 4 2 14 8.004480045875672014-03-05 2 1 2 14 8.0065050266114732014-03-05 2 2 2 7.9999103990824872014-03-05 14 2 3 2 14 940684192606132014-03-05 2 4 2 14 7.9936741752235542014-03-06 1 1 2 14 8.002255049349632014-03-06 1 2 2 14 7.9883979345055 242014-03-06 1 3 2 14 7.990032028237142014-03-06 1 4 2 14 7.9923851232106672014-03-06 2 1 2 14 7.9997058631283092014-03-06 2 2 2 7.9752271390286952014-03-06 2 3 2 8.0164716648146932014-03-06 2 4 2 7.990849075102948Time 촬영: 22.655 SE Conds
이 코드는 비교에 대 한 일부 하드 데이터를 제공합니다. 예를 들어, 여기서 볼 수 있듯이 모든 센서 범위의 2C에 14 C, 하지만 평균 7 C 8 C. 이 데이터를 일반적인 작업 중 몇 가지 경고 알림을 수행 하는 결정에 대 한 기준으로 사용 될 수 있는 중요 한 데이터를 제공 합니다.
이 예제에서 기록 되는 해당 데이터 요소에 대 한 데이터를 요약 하지만 데이터를 더 자주 기록 하는 경우 시간 또는 분에서 데이터를 요약할 수 있습니다. 당신은 또한 수 있는 다른 요소-이 예제에서 그룹 가정 각 센서와 호스트는 분리, 하지만 어떤 경우에는 센서 같은 정적 요소를 함께 넣어 필요가의 다른 독서를 얻을 수 있습니다.
각 다시 계산을 피하기 위해,이 데이터는 입력된 데이터 스트림에 있는 문제를 식별 하는 경우 비교에 대 한 기반으로 사용 하는 새 테이블을 작성할 수 있습니다. 목록 2에서는 쿼리의 출력을 사용 하 여이 작업을 완료로 삽입을 사용할 수 있습니다.
2를 목록입니다. 에 삽입을 사용 하 여
에서 초기 테이블 삽입 Selectto_date (From_unixtime (timelogged)), 호스트, 기계, 민 (Reportval), 맥스 (reportval AVG (reportval)에서 temp 그룹 to_date (From_unixtime (timelogged)), 호스트에 의해 기계;
연속 검사, 당신이 생각 하는 현재 값은 가장 최근의 계산 합니다. 전체 테이블을 검사 하 고 적절 한 센서 및 호스트에 대 한 전체 데이터 집합에 올바른 값을 계산 합니다. 목록 3에 표시 된 대로 날짜, 데이텀을 삭제할 수 있습니다.
목록 3. 날짜별으로 데이터를 삭제
호스트, 선택 기계, 민 (Reportval), 맥스 (Reportval), AVG (reportval) 온도 호스트, 그룹에서 기계; ... 작업 0:map:1 감소: 1 누적 cpu:2.76 초 HDFS 읽기: 13579346 HDFS 쓰기: 215 successtotal MapReduce CPU 시간을 보냈다: 2 초 760 msecOK1 1 2 14 7.9980555780604391 2 2 14 7.9909607527690651 3 2 14 7.9988657538685891 4 2 14 8.000196756981 982 1 2 14 8.0040971748012172 2 2 14 7.9911690836911612 3 2 14 8.0020022916401422 4 2-14 7.992673695906297
표준 편차 또는 계산 된 백분율 등의 다른 값을 계산할 수 있습니다. 또한이 값을 초과 하는 특정 포인트를 계산 하 고 벤치 마크를 만들 수 있습니다.
지금 당신은 사용 하는 기준. 다음으로, 우리 때 문제가 발생 합니다 식별 하려고 합니다.
실시간으로 문제를 식별
당신의 벤치 마크 데이터에 포함 하는 경우 구성된 매개 변수 외부에 존재 하는 항목을 결정 해야 두 값을 비교: 선택 * 온도에서 어디 temp.setval!= temp.reportval;.
목록 4와 같이 더 복잡 한 쿼리를 실행 하 여이 비교를 수행 하는 결함 허용 값 또는 간격입니다.
목록 4. 복잡 한 쿼리
선택 * 온도에서 어디 (Temp.reportval < = (TEMP.SETVAL-2)) 또는 (Temp.reportval > =);
데이텀 데이터 경우 병합, 목록 5와 같이 하루에 호스트 및 컴퓨터의 평균에 따라 그 정보를 사용할 수 있습니다.
5를 목록입니다. 병합 수행
선택 *에 임시 조인 기준선에서 (To_date (From_unixtime (temp.timelogged)) baselines.basedate 및 Temp.machine = 베이스 = Lines.machine 및 temp.host = baselines.host) 어디 Reportval > Baselines.logavg;2 1394089343 4 7 9 2014-03-06 2 4 2 14 7.9908492 1394082857 4 10 11 2014-03-06 2 4 2 14 7.9908492 1394085272 4 9 12 2014-03-06 2 4 2 14 7.9908492 1394091433 4 1 0 12 2014-03-06 2 4 2 14 7.9908492 1394082209 4 11 9 2014-03-06 2 4 2 14 7.9908492 1394087662 4 9 10 2014-03-06 2 4 2 14 7 .9908492 1394083754 4 10 9 2014-03-06 2 4 2 14 7.990849
각 기계, 온도 센서, 및 해당 날짜에 대 한이 출력은 원래 소스 데이터에서 계산 된 데이터를 초과 하는 모든 행을 생성 합니다. 샘플 값은 예상 보다 더 있을 수 있습니다. 예를 들어 10%가 계산 된 값 보다 더 제한적인 버전에 대 한 실제 값을 계산합니다.
리스트 6 모든 벤치 마크 비교 합니다.
목록 6. 모든 베이스 라인 비교
선택 *에 임시 조인 baselines_all에서 (Baselines_all.machine = temp.machine baselines_all.host = temp.host) wh reportval 오히려 > Baselines_all.logavg;
경고 데이터에 대 한 오류가 발생 하는 경우에 목록 7에 표시 된 대로 특정 메시지를 출력 하는 검사를 수행 합니다.
7을 목록입니다. 경고 데이터
CREATE TABLE 오류 선택 Temp.host,temp.machine,temp.reportval,if로 (Reportval > 'overtemp', Baselines_all.logavg '정상') 온도에서 가입 Baselines_all (Baselines_all.machine = temp.machine baselines_all.host = Temp.host);
이제 테이블을 쿼리, 과열 항목을 결정 하 고 수 데이터 드릴 다운.
당신은 지금 실시간 정보를 쿼리할 수 있습니다. 경고는 이전 결정된 제한 및 이상 값에 따라 트리거될 수 있습니다. 이 정보에는 하이브 쿼리만 포함, 때문에 그것은 다양 한 환경 및 응용 프로그램, 보고서 및 추적 요소 형식에서 액세스할 수 있습니다.
오래 된 정보를 보관 하 고 요약 정보 만들기
아카이브 정보 (비교를 수행 하 고 베이스 라인 구축에 필요한 단계), 데이터 압축을 해야 합니다. 데이터를 압축 후만 중요 한 정적 정보를 (현재 상태의 평균),이 평균 외부 항목 달리 사용 되 고 그에 따라 표시 될 다음 패키지에 포함 되어 있습니다.
이 메서드는 데이텀 쿼리를이 정보를 요약 하는 최소 및 최대 값을 사용 하 여 정보를 벗어나는 예외 값 포함의 조정된 형태를 생성 해야 합니다.
얼마나 많은 데이터를 저장 하 고 전적으로 당신에 따라 달라 집니다 얼마나 자주 저장 됩니다. 정보 및 데이터 밖에 있는 값을 생성 하 올리고 수 데이터가 저장 되는 다는 것을 확인 하십시오.
그림 1의 샘플 그래픽 센서 데이터 이전 예제를 기반으로 만들어집니다.
그림 1입니다. 샘플 다이어그램
(상단 및 하단에 녹색에서 빨간색) 두 라인 사이의 정보 없는 데이터입니다. 이 정보는 온도 결정 하는 데 사용할 수 있는 2 개의 극치의 평균을 제공 하기 때문에 유용 합니다. 하지만 그 기간 안에 그 시간 시기의 평균 수 고 그것은 대략 동일 함을 보여.
롤업, 요약 결과 추출 하 고 결정, 데이터 요소를 무시 한 다음 외부 데이터를 요약 하는 테이블을 만듭니다.
삽입 명령을 사용 하 여 목록 8에 표시 된 대로 데이터 요소 사이 있는을 요약 하는이 작업을 완료 한.
8을 목록입니다. 삽입
To_date (From_unixtime (temp.timelogged))을 선택으로 CREATE TABLE temparchive temp.host,temp.machine,temp.reportval,0 온도에서 가입 Baselines_all (Baselines_all.machine = temp.machine baselines_all.host = Temp.host) 어디 (reportval < baselines_all.logavg+1)와 (Reportval > Baselines_all.logavg-1) To_date (From_unixtime (그룹 temp.timelogged)), Temp.host,temp.machine, Temp.reportval;
이 코드는 먼저 기계와 센서 그리고 날짜별으로 요약 된 데이터를 포함 하는 테이블을 만듭니다. 테이블, 보고서에 대 한 읽기를 포함 하 고 마지막 열은 항상 0을 포함. 이 테이블 데이터 안전 기준으로 계산 된 값은 이전 계산된 기준에 포함 된 때문에 사용 하는 알려줍니다. 기본적인 차이 기준 평균 1 C 범위에 있는 값만 지정합니다.
이전 날짜/기계/센서 조합을 계산 하는 데이텀 이외의 값을 얻기 위해 반대 작업을 수행 합니다. 이 경우에, 목록 9와 같이 요약 된 정보 대신 모든 값을 추출할 수 있습니다.
9가 나열 됩니다. 모든 값을 추출
삽입 테이블 temparchive 선택 temp.timelogged,temp.host,temp.machine,temp.reportval,1 임시 조인에서 에 Baselines_all (baselines_all.machine = temp.machine baselines_all.host = Temp.host) 어디 (Reportval > 베이스 라인 _all.logavg+1)와 (Reportval < baselines_all.logavg-1);
이러한 항목은 기본 말은, 마지막 열에서 값 1 태그 밖에 있는 원시 데이터입니다. 이 태그와 함께 당신은 선택적으로 제외 하거나 저널 정보를 요약 하 고 보관에 따라 장기의 초기 계획 데이터를 계산 하는 경우 이러한 값이 포함 됩니다.
결론
사용 하 여 원시 컴퓨터 데이터를 처리 하는 때 그것은 Hadoop에 저장 하 고 정보를 간단한 문제입니다. 정보 대표 고 어떻게 요약 하 고 데이터를 보고 결정을 해야 합니다.
후 원시 데이터 하이브에 그들에 대 한 쿼리를 실행할 수 있습니다, 당신은 또한 (만약 그들이 수리 하지 않은) 당신의 벤치 마크를 계산 해야 합니다. 다음 쿼리를 먼저 기준선을 결정 하 고 이러한 기준선 한계 이상으로 데이터를 찾는 다음 쿼리를 실행 합니다. 이 문서에서는 몇 가지 기본 기법 및 식별 하 보고 및 경고 또는 묘사, 관리 응용 프로그램에 노출 하는 오류를 식별 하기 위해 이러한 실시간 예외 처리에 관련 된.