> 운영 및 유지보수 > 리눅스 운영 및 유지 관리 > Linux 데이터 분석 도구란 무엇입니까?

Linux 데이터 분석 도구란 무엇입니까?

青灯夜游
풀어 주다: 2022-05-11 17:41:34
원래의
3771명이 탐색했습니다.

Linux 데이터 분석 도구에는 다음이 포함됩니다. 1. 대량의 데이터를 분산 처리할 수 있는 소프트웨어 프레임워크인 Hadoop 2. 대용량 데이터 스트림을 매우 안정적으로 처리할 수 있으며 Hadoop 배치 데이터를 처리하는 데 사용되는 Storm 데이터 마이닝 및 시각적 모델링에 사용되는 RapidMiner 4, wc 등에 사용됩니다.

Linux 데이터 분석 도구란 무엇입니까?

이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.

6 Linux 빅데이터 처리 및 분석 도구

1. Hadoop

Linux 데이터 분석 도구란 무엇입니까?

Hadoop은 대용량 데이터를 분산 처리할 수 있는 소프트웨어 프레임워크입니다. 그러나 Hadoop은 이를 안정적이고 효율적이며 확장 가능한 방식으로 수행합니다.

  • Hadoop은 컴퓨팅 요소와 스토리지가 실패할 것이라고 가정하고 작업 데이터의 여러 복사본을 유지하여 실패한 노드에 대해 처리가 재분배될 수 있도록 보장하므로 안정적입니다.

  • Hadoop은 병렬 방식으로 작동하여 병렬 처리를 통해 처리 속도를 높이기 때문에 효율적입니다.

  • Hadoop은 확장 가능하며 페타바이트 규모의 데이터를 처리할 수 있습니다. 또한 Hadoop은 커뮤니티 서버에 의존하기 때문에 상대적으로 비용이 저렴하고 누구나 사용할 수 있습니다.

Hadoop은 사용자가 쉽게 구축하고 사용할 수 있는 분산 컴퓨팅 플랫폼입니다. 사용자는 Hadoop에서 대량의 데이터를 처리하는 애플리케이션을 쉽게 개발하고 실행할 수 있습니다. 주로 다음과 같은 장점이 있습니다.

  • 높은 신뢰성. 데이터를 비트 단위로 저장하고 처리하는 Hadoop의 능력은 신뢰할 만한 가치가 있습니다.

  • 높은 확장성. Hadoop은 수천 개의 노드로 쉽게 확장할 수 있는 사용 가능한 컴퓨터 클러스터 간에 데이터를 분산하고 컴퓨팅 작업을 완료합니다.

  • 효율성. Hadoop은 노드 간에 데이터를 동적으로 이동하고 각 노드의 동적 균형을 보장할 수 있으므로 처리 속도가 매우 빠릅니다.

  • 높은 내결함성. Hadoop은 여러 데이터 복사본을 자동으로 저장하고 실패한 작업을 자동으로 재배포할 수 있습니다.

Hadoop은 Java 언어로 작성된 프레임워크와 함께 제공되므로 Linux 프로덕션 플랫폼에서 실행하는 데 이상적입니다. Hadoop의 애플리케이션은 C++와 같은 다른 언어로도 작성할 수 있습니다.

2, HPCC

HPCC, High Performance Computing and Communications의 약자입니다. 1993년 미국 연방과학기술조정협의회는 미국 대통령의 과학 전략 프로젝트인 HPCC 계획 보고서라고도 알려진 "그랜드 챌린지 프로젝트: 고성능 컴퓨팅 및 통신"에 대한 보고서를 의회에 제출했습니다. 그 목적은 연구 개발을 강화하여 여러 가지 중요한 과학 및 기술 과제를 해결하는 것입니다. HPCC는 미국에서 정보고속도로를 구현하기 위한 계획으로, 이 계획의 구현에는 수백억 달러가 소요됩니다. 주요 목표는 테라비트 수준의 네트워크 전송 성능을 지원하는 확장 가능한 컴퓨팅 시스템 및 관련 소프트웨어를 개발하는 것입니다. 연구 및 교육 기관과 네트워크 연결 기능을 확장하기 위해 수천 개의 메가비트 네트워크 기술을 개발합니다.

이 프로젝트는 주로 5개 부분으로 구성됩니다.

  • 고성능 컴퓨터 시스템(HPCS)에는 차세대 컴퓨터 시스템, 시스템 설계 도구, 고급 일반 시스템 및 원본 시스템 평가에 대한 연구가 포함됩니다. 거대한 과제에 대한 소프트웨어 지원, 새로운 알고리즘 설계, 소프트웨어 분야 및 도구, 컴퓨팅 컴퓨팅 및 고성능 컴퓨팅 연구 센터 등을 다루는 소프트웨어 기술 및 알고리즘(ASTA)

  • National Research and Education Grid(NREN) , 중간 스테이션 및 10억 수준 전송의 연구 개발을 다루고 있습니다.

  • 기초 연구, 교육, 교육 및 과정 자료를 다루는 기초 연구 및 인적 자원(BRHR)은 다음을 통해 연구자에게 보상하도록 설계되었습니다. , 확장 가능한 고성능 컴퓨팅의 혁신 흐름 증가, 교육 및 고성능 컴퓨팅 교육 및 통신 개선을 통해 숙련되고 훈련된 인력 풀 증가, 이러한 조사 및 연구 활동을 지원하는 데 필요한 인프라 제공에 대한 장기적인 조사 ;

  • 정보 인프라 기술 및 애플리케이션(IITA)은 첨단 정보 기술 개발에서 미국의 리더십을 보장하기 위해 설계되었습니다.

  • 3. Storm

Storm은 무료 오픈 소스 소프트웨어이자 분산형 내결함성 실시간 컴퓨팅 시스템입니다. Storm은 대규모 데이터 스트림을 매우 안정적으로 처리할 수 있으며 Hadoop 배치 데이터를 처리하는 데 사용됩니다. Storm은 간단하고 다양한 프로그래밍 언어를 지원하며 사용하기가 매우 재미있습니다. Storm은 Twitter에서 오픈 소스로 제공되며 기타 잘 알려진 응용 프로그램 회사로는 Groupon, Taobao, Alipay, Alibaba, Le Elements, Admaster 등이 있습니다.

Storm은 실시간 분석, 온라인 머신러닝, 논스톱 컴퓨팅, 분산 RPC(원격 프로시저 호출 프로토콜, 네트워크를 통해 원격 컴퓨터 프로그램에 서비스를 요청하는 방법), ETL(Extraction-Transformation의 약어) 등 다양한 응용 분야를 가지고 있습니다. -Loading) 즉, 데이터 추출, 변환 및 로딩) 등 Storm의 처리 속도는 놀랍습니다. 테스트 후 각 노드는 초당 100만 개의 데이터 튜플을 처리할 수 있습니다. Storm은 확장 가능하고 내결함성이 있으며 설정 및 운영이 쉽습니다.

4. Apache Drill

Linux 데이터 분석 도구란 무엇입니까?

기업 사용자가 Hadoop 데이터 쿼리 속도를 높이는 보다 효과적인 방법을 찾을 수 있도록 돕기 위해 Apache Software Foundation은 최근 "Drill"이라는 오픈 소스 프로젝트를 시작했습니다. Apache Drill은 Google의 Dremel을 구현합니다.

Hadoop 공급업체인 MapR Technologies의 제품 관리자인 Tomer Shiran에 따르면 "Drill"은 Apache 인큐베이터 프로젝트로 운영되었으며 앞으로도 전 세계 소프트웨어 엔지니어에게 홍보될 예정입니다.

이 프로젝트는 Google의 Dremel Hadoop 도구(Google에서 Hadoop 데이터 분석 도구의 인터넷 애플리케이션 속도를 높이기 위해 사용함)의 오픈 소스 버전을 생성합니다. "드릴"은 Hadoop 사용자가 대규모 데이터 세트를 더 빠르게 쿼리하는 데 도움이 됩니다.

"Drill" 프로젝트는 실제로 Google의 Dremel 프로젝트에서 영감을 받았습니다. 이 프로젝트는 Google이 크롤링된 웹 문서 분석, Android 마켓에 설치된 애플리케이션 데이터 추적, 스팸 이메일 분석 등 대규모 데이터 세트를 분석 및 처리하는 데 도움이 됩니다. Google의 분산 빌드 시스템 등

"Drill" Apache 오픈 소스 프로젝트를 개발함으로써 조직은 광범위한 데이터 소스, 데이터 형식 및 쿼리 언어를 지원하는 데 도움이 되는 Drill의 API 인터페이스와 유연하고 강력한 아키텍처를 구축해야 합니다.

5. RapidMiner

Linux 데이터 분석 도구란 무엇입니까?

RapidMiner는 광범위한 첨단 기술을 갖춘 세계 최고의 데이터 마이닝 솔루션입니다. 다양한 데이터 아트를 포함하여 광범위한 데이터 마이닝 작업을 다루며 데이터 마이닝 프로세스의 설계 및 평가를 단순화할 수 있습니다.

기능 및 특징

  • 데이터 마이닝 기술 및 라이브러리를 무료로 제공

  • 100% Java 코드로 제공(운영 체제에서 실행 가능)

  • 데이터 마이닝 프로세스가 간단하고 강력하며 직관적입니다

  • 내부 XML은 데이터 마이닝 프로세스의 교환을 나타내는 표준화된 형식을 보장합니다.

  • 간단한 스크립트 언어로 대규모 프로세스를 자동화할 수 있습니다.

  • 유효하고 투명한 데이터를 보장하는 다단계 데이터 보기

  • 와의 상호 작용 그래픽 사용자 인터페이스 Prototype

  • 명령줄(배치 모드) 자동 대규모 애플리케이션

  • Java API(Application Programing Interface)

  • 간단한 플러그인 및 승격 메커니즘

  • 강력한 시각화 엔진, 다수 차원 데이터의 최첨단 고급 시각적 모델링

  • 400개 이상의 데이터 마이닝 연산자 지원

Yale University는 텍스트 마이닝, 멀티미디어 마이닝, 기능 디자인, 데이터 흐름을 포함한 다양한 응용 분야에서 성공적으로 사용되었습니다. 마이닝, 통합 개발된 방법 및 분산 데이터 마이닝.

6. Pentaho BI

Linux 데이터 분석 도구란 무엇입니까?

Pentaho BI 플랫폼은 기존 BI 제품과 다릅니다. 그 목적은 일련의 엔터프라이즈 수준 BI 제품, 오픈 소스 소프트웨어, API 및 기타 구성 요소를 통합하여 비즈니스 인텔리전스 애플리케이션 개발을 촉진하는 것입니다. 그 출현으로 Jfree, Quartz 등과 같은 일련의 독립적인 비즈니스 인텔리전스 제품이 함께 통합되어 복잡하고 완전한 비즈니스 인텔리전스 솔루션을 형성할 수 있게 되었습니다.

Pentaho Open BI 제품군의 핵심 아키텍처이자 기반인 Pentaho BI 플랫폼은 중앙 컨트롤러가 워크플로우 엔진이기 때문에 프로세스 중심입니다. 워크플로 엔진은 프로세스 정의를 사용하여 BI 플랫폼에서 실행되는 비즈니스 인텔리전스 프로세스를 정의합니다. 프로세스를 쉽게 사용자 정의하고 새로운 프로세스를 추가할 수 있습니다. BI 플랫폼에는 이러한 프로세스의 성능을 분석하는 구성 요소와 보고서가 포함되어 있습니다. 현재 Pentaho의 주요 요소로는 보고서 생성, 분석, 데이터 마이닝, 워크플로우 관리 등이 있습니다. 이러한 구성 요소는 J2EE, WebService, SOAP, HTTP, Java, JavaScript 및 포털과 같은 기술을 통해 Pentaho 플랫폼에 통합됩니다. Pentaho는 주로 Pentaho SDK 형태로 배포됩니다.

Pentaho SDK에는 Pentaho 플랫폼, Pentaho 샘플 데이터베이스, 독립적으로 실행되는 Pentaho 플랫폼, Pentaho 솔루션 예제 및 사전 구성된 Pentaho 네트워크 서버의 다섯 부분이 포함되어 있습니다. 그 중 Pentaho 플랫폼은 Pentaho 플랫폼 소스 코드의 본체를 포함하는 Pentaho 플랫폼의 가장 중요한 부분이며, Pentaho 데이터베이스는 Pentaho 플랫폼의 구성 정보, 솔루션 관련 정보 등 Pentaho 플랫폼의 정상적인 작동을 위한 데이터 서비스를 제공합니다. Pentaho 플랫폼의 경우에는 필요하지 않으며 구성을 통해 다른 데이터베이스 서비스로 대체될 수 있습니다. 독립적으로 실행할 수 있는 Pentaho 플랫폼은 Pentaho 플랫폼의 독립적 실행 모드의 예로서, Pentaho 플랫폼은 애플리케이션 서버 지원 없이 독립적으로 실행됩니다. Pentaho 솔루션 예제는 Pentaho 플랫폼용 관련 비즈니스 인텔리전스 솔루션을 개발하는 방법을 보여주는 Eclipse 프로젝트입니다.

Pentaho BI 플랫폼은 서버, 엔진 및 구성 요소를 기반으로 구축됩니다. 이는 시스템의 J2EE 서버, 보안, 포털, 작업 흐름, 규칙 엔진, 차트 작성, 협업, 컨텐츠 관리, 데이터 통합, 분석 및 모델링 기능을 제공합니다. 이러한 구성 요소의 대부분은 표준 기반이므로 다른 제품으로 교체할 수 있습니다.

9 Linux 데이터 분석 명령줄 도구

1. head and tail

먼저 파일 처리부터 시작해 보겠습니다. 파일 내용은 무엇입니까? 파일 형식은 무엇입니까? cat 명령을 사용하여 터미널에 파일을 표시할 수 있지만 내용이 긴 파일을 처리하는 데는 적합하지 않습니다.

파일에 지정된 줄 수를 완전히 표시할 수 있는 head와 tail을 입력하세요. 행 수를 지정하지 않으면 기본적으로 10개 행이 표시됩니다.

$ tail -n 3 jan2017articles.csv
02 Jan 2017,Article,Scott Nesbitt,3 tips for effectively using wikis for documentation,1,/article/17/1/tips-using-wiki-documentation,"Documentation, Wiki",710
02 Jan 2017,Article,Jen Wike Huger,The Opensource.com preview for January,0,/article/17/1/editorial-preview-january,,358
02 Jan 2017,Poll,Jason Baker,What is your open source New Year's resolution?,1,/poll/17/1/what-your-open-source-new-years-resolution,,186
로그인 후 복사

마지막 세 줄에서는 날짜, 저자 이름, 제목 및 기타 정보를 찾을 수 있었습니다. 하지만 열 헤더가 부족하여 각 열의 구체적인 의미를 알 수 없습니다. 아래에서 각 열의 특정 제목을 확인하세요.

$ head -n 1 jan2017articles.csv
Post date,Content type,Author,Title,Comment count,Path,Tags,Word count
로그인 후 복사

이제 모든 것이 명확해졌습니다. 발행 날짜, 콘텐츠 유형, 작성자, 제목, 제출 수, 관련 URL, 각 기사의 태그 및 단어 수를 확인할 수 있습니다.

2.wc

하지만 수백, 수천 개의 기사를 분석해야 한다면 어떻게 해야 할까요? 여기서는 "단어 수"의 약어인 wc 명령을 사용해야 합니다. wc는 파일의 바이트, 문자, 단어 또는 줄을 계산할 수 있습니다. 이 예에서는 기사의 줄 수를 알고 싶습니다.

$ wc -l jan2017articles.csv 93 jan2017articles.csv
로그인 후 복사

이 파일은 총 93줄입니다. 첫 번째 줄에 파일 제목이 포함되어 있는 것을 보면 이 파일은 92개의 기사 목록이라고 추측할 수 있습니다.

3. grep

아래에 새로운 질문이 제기됩니다. 목표를 달성하기 위해 필수 기사의 제목, 태그 또는 기타 항목에 보안이라는 단어가 언급될 것으로 가정합니다. 위치. 이때 grep 도구를 사용하면 특정 문자로 파일을 검색하거나 다른 검색 패턴을 구현할 수 있습니다. 정규식을 사용하여 매우 정확한 일치 패턴을 만들 수도 있기 때문에 이는 매우 강력한 도구입니다. 하지만 여기서는 간단한 문자열만 찾으면 됩니다.

$ grep -i "security" jan2017articles.csv
30 Jan 2017,Article,Tiberius Hefflin,4 ways to improve your security online right now,3,/article/17/1/4-ways-improve-your-online-security,Security and encryption,1242
28 Jan 2017,Article,Subhashish Panigrahi,How communities in India support privacy and software freedom,0,/article/17/1/how-communities-india-support-privacy-software-freedom,Security and encryption,453
27 Jan 2017,Article,Alan Smithee,Data Privacy Day 2017: Solutions for everyday privacy,5,/article/17/1/every-day-privacy,"Big data, Security and encryption",1424
04 Jan 2017,Article,Daniel J Walsh,50 ways to avoid getting hacked in 2017,14,/article/17/1/yearbook-50-ways-avoid-getting-hacked,"Yearbook, 2016 Open Source Yearbook, Security and encryption, Containers, Docker, Linux",2143
로그인 후 복사

우리가 사용하는 형식은 grep과 -i 플래그(grep이 대소문자를 구분하지 않음을 grep에 알리는 것), 검색하려는 패턴, 그리고 마지막으로 검색 중인 대상 파일의 위치입니다. 마침내 우리는 보안 관련 기사 4개를 찾았습니다. 검색 범위가 더 구체적이라면 파이프를 사용할 수 있습니다. grep과 wc 명령을 결합하여 보안 내용이 언급된 행 수를 알아낼 수 있습니다.

$ grep -i "security" jan2017articles.csv | wc -l 4
로그인 후 복사

이런 식으로 wc는 grep 명령의 출력을 추출하여 입력으로 사용합니다. 약간의 쉘 스크립팅과 결합된 이 조합은 터미널을 즉시 강력한 데이터 분석 도구로 변환합니다.

4, tr

대부분의 분석 시나리오에서 우리는 CSV 파일을 보게 될 것입니다. 그러나 다른 응용 프로그램을 달성하기 위해 이를 다른 형식으로 어떻게 변환합니까? 여기서는 데이터 사용을 위해 테이블을 전달하기 위해 HTML 형식으로 변환합니다. tr 명령은 이 목표를 달성하는 데 도움이 될 수 있으며, 한 유형의 문자를 다른 유형으로 변환할 수 있습니다. 마찬가지로, 파이프 명령을 사용하여 출력/입력 도킹을 달성할 수도 있습니다.

다음으로, 1월 20일에 게시된 기사만 포함하는 TSV(탭으로 구분된 값) 파일을 만드는 또 다른 다중 부분 예제를 시도해 보겠습니다.

$ grep "20 Jan 2017" jan2017articles.csv | tr ',' '/t' > jan20only.tsv
로그인 후 복사

먼저 날짜 쿼리에 grep을 사용합니다. 이 결과를 tr 명령에 연결하고 후자를 사용하여 모든 쉼표를 탭('/t'로 표시)으로 바꿉니다. 하지만 결과는 어디로 가나요? 여기서는 > 문자를 사용하여 결과를 화면이 아닌 새 파일에 출력합니다. 이러한 방식으로 dqywjan20only.tsv 파일에 예상 데이터가 포함되어 있는지 확인할 수 있습니다.

$ cat jan20only.tsv 20 Jan 2017 Article Kushal Das 5 ways to expand your project's contributor base 2 /article/17/1/expand-project-contributor-base Getting started 690 20 Jan 2017 Article D Ruth Bavousett How to write web apps in R with Shiny 2 /article/17/1/writing-new-web-apps-shiny Web development 218 20 Jan 2017 Article Jason Baker "Top 5: Shell scripting the Cinnamon Linux desktop environment and more" 0 /article/17/1/top-5-january-20 Top 5 214 20 Jan 2017 Article Tracy Miranda How is your community promoting diversity? 1 /article/17/1/take-action-diversity-tech Diversity and inclusion 1007
로그인 후 복사

5, sort

먼저 가장 많은 정보가 포함된 특정 열을 찾으려면 어떻게 해야 합니까? 가장 긴 새 기사 목록이 포함된 기사를 알고 나서 1 이전에 얻은 3월 20일 기사 목록에서 sort 명령을 사용하여 열 단어 수를 정렬할 수 있습니다. 이 경우 중간 파일을 사용할 필요가 없으며 계속해서 파이프를 사용할 수 있습니다. 그러나 긴 명령 체인을 더 짧은 부분으로 나누면 전체 작업이 단순화되는 경우가 많습니다.

$ sort -nr -t$'/t' -k8 jan20only.tsv | head -n 1
20 Jan 2017 Article Tracy Miranda How is your community promoting diversity? 1 /article/17/1/take-action-diversity-tech Diversity and inclusion 1007
로그인 후 복사

以上是一条长命令,我们尝试进行拆分。首先,我们使用sort命令对字数进行排序。-nr选项告知sort以数字排序,并将结果进行反向排序(由大到小)。此后的-t$'/t'则告知sort其中的分隔符为tab('/t')。其中的$要求此shell为一条需要处理的字符串,并将/n返回为tab。而-k8部分则告知sort命令使用第八列,即本示例中进行字数统计的目标列。

最后,输出结果被pipe至head,处理后在结果中显示此文件中包含最多字数的文章标题。

6、sed

大家可能还需要在文件中选择特定某行。这里可以使用sed。如果希望将全部包含标题的多个文件加以合并,并只为整体文件显示一组标题,即需要清除额外内容; 或者希望只提取特定行范围,同样可以使用sed。另外,sed还能够很好地完成批量查找与替换任务。

下面立足之前的文章列表创建一个不含标题的新文件,用于同其他文件合并(例如我们每月都会定期生成某个文件,现在需要将各个月份的内容进行合并)。

$ sed '1 d' jan2017articles.csv > jan17no_headers.csv

其中的“1 d”选项要求sed删除第一行。

7、cut

了解了如何删除行,那么我们该如何删除列?或者说如何只选定某一列?下面我们尝试为之前生成的列表创建一份新的作者清单。

$ cut -d',' -f3 jan17no_headers.csv > authors.txt
로그인 후 복사

在这里,通过cut与-d相配合代表着我们需要第三列(-f3),并将结果发送至名为authors.txt的新文件。

8、uniq

作者清单已经完成,但我们要如何知悉其中包含多少位不同的作者?每位作者又各自编写了多少篇文章?这里使用unip。下面我们对文件进行sort排序,找到唯一值,而后计算每位作者的文章数量,并用结果替换原本内容。

sort authors.txt | uniq -c > authors.txt
로그인 후 복사

现在已经可以看到每位作者的对应文章数,下面检查最后三行以确保结果正确。

$ tail -n3 authors-sorted.txt
1 Tracy Miranda
1 Veer Muchandi
3 VM (Vicky) Brasseur
로그인 후 복사

9、awk

最后让我们了解最后一款工具,awk。awk是一款出色的替换性工具,当然其功能远不止如此。下面我们重新回归1月12日文章列表TSV文件,利用awk创建新列表以标明各篇文章的作者以及各作者编写的具体字数。

$ awk -F "/t" '{print $3 " " $NF}' jan20only.tsv
Kushal Das 690
D Ruth Bavousett 218
Jason Baker 214
Tracy Miranda 1007
로그인 후 복사

其中的-F "/t"用于告知awk目前处理的是由tab分隔的数据。在大括号内,我们为awk提供执行代码。$3代表要求其将输出第三行,而$NF则代表输出最后一行(即‘字段数’的缩写),并在两项结果间添加两个空格以进行明确划分。

虽然这里列举的例子规模较小,看似不必使用上述工具解决,但如果将范围扩大到包含93000行的文件,那么它显然很难利用电子表格程序进行处理。

利用这些简单的工具与小型脚本,大家可以避免使用数据库工具并轻松完成大量数据统计工作。无论您是专业人士还是业余爱好者,它的作用都不容忽视。

相关推荐:《Linux视频教程

위 내용은 Linux 데이터 분석 도구란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿