spark wordcount 예제

spark wordcount 예제

예제 응용 프로그램은 표준 MapReduce 예제인 WordCount의 향상된 버전입니다. WordCount의이 버전에서 목표는 코퍼스에서 가장 인기있는 단어의 문자 분포를 배우는 것입니다. 응용 프로그램: Spark를 사용하면 80개 이상의 고급 운영자가 있으므로 코드를 더 빠르게 작성할 수 있습니다. 이를 설명하기 위해 빅데이터의 “Hello World!” : 단어 수 예제를 살펴보겠습니다. MapReduce에 대한 Java로 작성하면 약 50줄의 코드가 있는 반면, 스파크(및 Scala)에서는 스파크 API에 대한 간략한 개요를 제공합니다. Spark는 임의의 Java 또는 Python 개체를 포함하는 분산 데이터 집합의 개념을 기반으로 합니다. 외부 데이터에서 데이터 집합을 만든 다음 병렬 작업을 적용합니다. 스파크 API의 구성 블록은 RDD API입니다. RDD API에는 이전 데이터 집합을 기반으로 새 데이터 집합을 정의하는 변환과 클러스터에서 실행하는 작업을 시작하는 작업의 두 가지 유형이 있습니다. Spark의 RDD API 외에도 데이터프레임 API 및 머신 러닝 API와 같은 고급 API가 제공됩니다. 이러한 고급 API는 특정 데이터 작업을 수행하는 간결한 방법을 제공합니다. 이 페이지에서는 RDD API를 사용하는 예제와 높은 수준의 API를 사용하는 예제를 보여 드리겠습니다.

이 예제에서는 로그 파일의 오류 메시지를 검색합니다. Spark의 변환은 “지연”이므로 결과를 바로 계산하지 않습니다. 대신 수행할 작업과 작업을 수행할 데이터 집합(예: 파일)만 “기억”합니다. 변환은 작업이 호출되고 결과가 드라이버 프로그램에 반환될 때만 실제로 계산됩니다. 이 설계를 통해 스파크를 보다 효율적으로 실행할 수 있습니다. 예를 들어 큰 파일이 여러 가지 방법으로 변환되어 첫 번째 작업으로 전달된 경우 Spark는 전체 파일에 대한 작업을 수행하는 대신 첫 번째 줄에 대한 결과만 처리하고 반환합니다. 아파치 스파크의 어떤 버전을 사용 하느냐에 따라 다릅니다. 이 문서 (2.11)와 같은 동일한 버전을 사용하는 경우 이터레이터가 필요하지 않습니다. 2.12를 사용하려면 이터레이터를 추가해야 합니다.

그런 다음 트윗에 대한 의미 분석을 실행하여 현재 지진 발생을 참조하는 것으로 보이는지 확인해야 합니다. 예를 들어 “지진!” 또는 “지금은 흔들리고 있다”와 같은 트윗은 긍정적인 일치를 고려하는 반면 “지진 컨퍼런스 참석” 또는 “어제 지진은 무서웠다”와 같은 트윗은 그렇지 않습니다. 논문의 저자는 이를 위해 지원 벡터 머신(SVM)을 사용했습니다. 여기에서도 동일한 작업을 수행하지만 스트리밍 버전을 시도할 수도 있습니다. MLlib의 결과 코드 예제는 다음과 같습니다: 모든 소개 빅 데이터 예제는 어떻게 든 분산 방식으로 단어를 계산하는 방법을 보여 줘야 합니다. Spark 단어 수 예제에서는 특정 파일에 각 단어의 빈도가 있는지 확인합니다. 여기서는 스칼라 언어를 사용하여 Spark 작업을 수행합니다. 다음 예제에서는 Spark 배포판에 있는 README.md 파일의 단어를 계산하고 README.count 디렉터리 아래에 결과를 저장합니다. 이 예제에서는 레이블 및 특징 벡터의 데이터 집합을 수행합니다. 로지스틱 회귀 알고리즘을 사용하여 피처 벡터에서 레이블을 예측하는 방법을 배웁니다. sc로 사용할 수 있는 스파크 컨텍스트를 의미하므로 셸의 스파크 컨텍스트에 `sc`라는 변수로 액세스할 수 있습니다. 예제를 실행한 후 README.count 디렉터리 의 내용을 참조하세요: 이 예제에서는 데이터베이스에 저장된 테이블을 읽고 모든 연령대의 인원수를 계산합니다.

마지막으로 계산된 결과를 JSON 형식으로 S3에 저장합니다. 간단한 MySQL 테이블 “사람”이 예제에서 사용되며 이 테이블에는 “이름” 및 “나이”라는 두 개의 열이 있습니다.