15개 이상의 Apache Spark 인터뷰 질문 및 답변 2022

게시 됨: 2021-01-08

Apache Spark에 익숙한 사람이라면 Apache Spark가 오늘날 가장 선호되는 빅 데이터 도구 중 하나가 된 이유를 알고 있습니다. Apache Spark를 사용하면 초고속 계산이 가능합니다.

Spark가 빠른 빅 데이터 처리를 지원한다는 사실은 전 세계 기업에서 인기를 얻고 있습니다. Amazon, Alibaba, eBay 및 Yahoo와 같은 큰 이름에서 업계의 소규모 회사에 이르기까지 Spark는 엄청난 팬을 확보했습니다. 이 덕분에 기업은 Spark에 대한 도메인 전문 지식을 갖춘 숙련된 빅 데이터 전문가를 지속적으로 찾고 있습니다.

빅 데이터(Spark) 프로필과 관련된 일자리를 구하려는 모든 사람은 먼저 Spark 인터뷰를 성공적으로 풀어야 합니다. 다음은 목표에 한 걸음 더 다가갈 수 있는 방법입니다. Apache Spark에서 가장 자주 묻는 15가지 인터뷰 질문입니다!

  1. 스파크란?

Spark는 실시간 처리를 허용하는 오픈 소스 클러스터 컴퓨팅 빅 데이터 프레임워크입니다. 일괄 처리, 대화형, 반복 및 스트리밍과 같은 다양한 워크로드를 처리할 수 있는 범용 데이터 처리 엔진입니다. Spark는 데이터 처리 속도를 높이는 데 도움이 되는 메모리 내 계산을 실행합니다. 독립 실행형, Hadoop 또는 클라우드에서 실행할 수 있습니다.

  1. RDD 란 무엇입니까?

RDD 또는 Resilient Distributed Dataset은 Spark의 기본 데이터 구조입니다. 데이터 입력을 개체 형식으로 나타내는 Spark의 필수 추상화입니다. RDD는 독립적인 데이터 처리를 가능하게 하기 위해 클러스터의 다른 노드에서 계산할 수 있는 더 작은 부분으로 각 노드가 분할된 읽기 전용의 변경할 수 없는 개체 모음입니다.

  1. Apache Spark와 Hadoop MapReduce를 구분합니다.

Apache Spark와 Hadoop MapReduce의 주요 차이점은 다음과 같습니다.

  • Spark는 프로그래밍하기 쉽고 추상화가 필요하지 않습니다. MapReduce는 Java로 작성되었으며 프로그래밍하기 어렵습니다. 추상화가 필요합니다.
  • Spark에는 대화형 모드가 있지만 MapReduce에는 대화형 모드가 없습니다. 그러나 Pig 및 Hive와 같은 도구를 사용하면 MapReduce로 작업하기가 더 쉽습니다.
  • Spark는 동일한 클러스터 내에서 일괄 처리, 스트리밍 및 기계 학습을 허용합니다. MapReduce는 일괄 처리에 가장 적합합니다.
  • Spark는 Spark Streaming을 통해 실시간으로 데이터를 수정할 수 있습니다. MapReduce에는 이러한 실시간 프로비저닝이 없습니다. 저장된 데이터의 배치만 처리할 수 있습니다.
  • Spark는 메모리에 부분 결과를 캐싱하여 짧은 지연 시간 계산을 용이하게 합니다. 이것은 더 많은 메모리 공간을 필요로 합니다. 반대로 MapReduce는 영구 저장이 가능한 디스크 지향적입니다.
  • Spark는 처리 작업을 메모리 내에서 실행할 수 있으므로 MapReduce보다 훨씬 빠르게 데이터를 처리할 수 있습니다.
  1. 희소 벡터란 무엇입니까?

희소 벡터는 두 개의 병렬 배열로 구성됩니다. 하나는 인덱스용이고 다른 하나는 값용입니다. 메모리 공간을 절약하기 위해 0이 아닌 항목을 저장하는 데 사용됩니다.

  1. Spark에서 파티셔닝이란 무엇입니까?

파티셔닝은 데이터 처리 속도를 높이기 위해 더 작고 논리적인 데이터 단위를 만드는 데 사용됩니다. Spark에서는 모든 것이 분할된 RDD입니다. 파티션은 시스템의 다양한 실행기로 데이터를 보내기 위해 최소한의 네트워크 트래픽으로 분산 데이터 처리를 병렬화합니다.

  1. 변환 및 작업을 정의합니다.

Transformation과 Action은 모두 RDD 내에서 실행되는 작업입니다.

RDD에 Transformation 기능을 적용하면 또 다른 RDD를 생성한다. 변환의 두 가지 예는 map()과 filer()입니다. map()은 RDD의 각 요소에 전달된 함수를 적용하여 다른 RDD를 생성하고 filter()는 현재 RDD에서 전달하는 구성 요소를 선택하여 새 RDD를 생성합니다. 함수 인수. Action이 발생했을 때만 발동됩니다.

작업은 RDD에서 로컬 시스템으로 데이터를 검색합니다. 이는 계보 그래프를 사용하여 데이터를 원본 RDD에 로드하고, 모든 중간 변환을 수행하고, 최종 결과를 드라이버 프로그램에 반환하거나 파일 시스템에 기록함으로써 실행을 트리거합니다.

  1. 리니지 그래프란?

Spark에서 RDD는 서로 의존합니다. RDD 간의 이러한 종속성을 그래픽으로 표현한 것을 계보 그래프라고 합니다. 계보 그래프의 정보를 사용하여 요청 시 각 RDD를 계산할 수 있습니다. 영구 RDD의 청크가 손실되는 경우 계보 그래프 정보를 사용하여 손실된 데이터를 복구할 수 있습니다.

  1. SparkCore의 목적은 무엇입니까?

SparkCore는 Spark의 기본 엔진입니다. 내결함성, 메모리 관리, 작업 모니터링, 작업 예약 및 스토리지 시스템과의 상호 작용과 같은 중요한 기능을 수행합니다.

  1. Spark 생태계의 주요 라이브러리 이름을 지정하십시오.

Spark 생태계의 주요 라이브러리는 다음과 같습니다.

  • Spark Streaming – 실시간 데이터 스트리밍을 활성화하는 데 사용됩니다.
  • Spark MLib - 분류, 회귀, 클러스터링 등과 같은 학습 알고리즘에서 일반적으로 사용되는 Spark의 Machine Learning 라이브러리입니다.
  • Spark SQL – 표준 시각화 또는 비즈니스 인텔리전스 도구를 적용하여 Spark 데이터에 대한 SQL과 유사한 쿼리를 실행하는 데 도움이 됩니다.
  • Spark GraphX ​​– 대화형 그래프를 개발 및 변환하기 위한 그래프 처리용 Spark API입니다.
  1. YARN이란 무엇입니까? YARN 클러스터의 모든 노드에 Spark를 설치해야 합니까?

Yarn은 Spark의 중앙 리소스 관리 플랫폼입니다. 이를 통해 Spark 클러스터 전체에서 확장 가능한 작업을 전달할 수 있습니다. Spark가 데이터 처리 도구라면 YARN은 분산 컨테이너 관리자입니다. Hadoop MapReduce가 YARN에서 실행되는 것처럼 Spark도 YARN에서 실행할 수 있습니다.

Spark는 설치와 독립적으로 실행되는 YARN 위에서 실행할 수 있으므로 YARN 클러스터의 모든 노드에 Spark를 설치할 필요는 없습니다. 또한 마스터, 대기열, 배포 모드, 드라이버 메모리, 실행기 메모리 및 실행기 코어와 같은 YARN에서 실행할 다양한 구성이 포함되어 있습니다.

  1. 촉매 프레임워크란 무엇입니까?

Catalyst 프레임워크는 Spark SQL의 고유한 최적화 프레임워크입니다. 촉매 프레임워크의 주요 목적은 Spark가 더 빠른 처리 시스템을 개발하기 위해 새로운 최적화를 추가하여 SQL 쿼리를 자동으로 변환할 수 있도록 하는 것입니다.

  1. Spark에서 다양한 유형의 클러스터 관리자는 무엇입니까?

Spark 프레임워크는 세 가지 유형의 클러스터 관리자로 구성됩니다.

  1. 독립 실행형 – 클러스터를 구성하는 데 사용되는 기본 관리자입니다.
  2. Apache Mesos – Hadoop MapReduce 및 기타 애플리케이션도 실행할 수 있는 Spark의 기본 제공 일반화된 클러스터 관리자입니다.
  3. Yarn – Hadoop에서 리소스 관리를 처리하기 위한 클러스터 관리자입니다.
  1. 작업자 노드란 무엇입니까?

작업자 노드는 마스터 노드의 "슬레이브 노드"입니다. 클러스터에서 애플리케이션 코드를 실행할 수 있는 모든 노드를 나타냅니다. 따라서 마스터 노드는 할당된 작업을 수행하는 작업자 노드에 작업을 할당합니다. 작업자 노드는 내부에 저장된 데이터를 처리한 다음 마스터 노드에 보고합니다.

  1. Spark Executor란 무엇입니까?

Spark Executor는 계산을 실행하고 작업자 노드에 데이터를 저장하는 프로세스입니다. SparkContext가 클러스터 관리자와 연결할 때마다 클러스터 내의 노드에서 실행자를 획득합니다. 이러한 실행자는 SparkContext에 의해 할당된 최종 작업을 실행합니다.

  1. 마루 파일이란?

Parquet 파일은 Spark SQL이 읽기 및 쓰기 작업을 모두 수행할 수 있도록 하는 열 형식 파일입니다. 쪽모이 세공 파일(기둥 형식)을 사용하면 다음과 같은 많은 이점이 있습니다.

  1. 열 저장 형식은 공간을 덜 차지합니다.
  2. 열 저장 형식은 IO 작업을 확인합니다.
  3. 특정 열에 쉽게 액세스할 수 있습니다.
  4. 유형별 인코딩을 따르고 더 잘 요약된 데이터를 제공합니다.

거기에서 우리는 당신을 Spark로 쉽게 만들었습니다. Spark의 15가지 기본 개념은 Spark를 시작하는 데 도움이 됩니다.

빅 데이터에 대해 더 알고 싶다면 PG 디플로마 빅 데이터 소프트웨어 개발 전문화 프로그램을 확인하십시오. 이 프로그램은 실무 전문가를 위해 설계되었으며 7개 이상의 사례 연구 및 프로젝트를 제공하고 14개 프로그래밍 언어 및 도구, 실용적인 실습을 다룹니다. 워크샵, 400시간 이상의 엄격한 학습 및 최고의 기업과의 취업 지원.

upGrad에서 다른 소프트웨어 엔지니어링 과정을 확인하십시오.

자신의 기술을 향상시키고 미래를 준비하십시오

400시간 이상의 학습. 14개 언어 및 도구. IIIT-B 동문 현황.
IIT Bangalore의 빅 데이터 고급 인증 프로그램