Spark 와 Hadoop 간에 종속성이 있습니까?
그렇지 않다면 Hadoop 없이 Spark 를 실행할 때 놓칠 기능이 있습니까?
답변
Spark는 Hadoop없이 실행할 수 있지만 일부 기능은 Hadoop의 코드 (예 : Parquet 파일 처리)에 의존합니다. 우리는 Mesos와 S3에서 Spark를 실행하고 있는데, 설정하기 조금 까다 롭지 만 일단 완료되면 정말 잘 작동합니다 ( 여기 에서 올바르게 설정하는 데 필요한 요약을 읽을 수 있습니다 ).
(편집) 참고 : 버전 2.3.0부터 Spark는 Kubernetes에 대한 기본 지원도 추가했습니다.
답변
Spark 는 인 메모리 분산 컴퓨팅 엔진입니다.
Hadoop 은 분산 스토리지 ( HDFS ) 및 분산 처리 ( YARN )를 위한 프레임 워크입니다. )를 .
Spark는 Hadoop 구성 요소 (HDFS / YARN)를 사용하거나 사용하지 않고 실행할 수 있습니다.
분산 스토리지 :
때문에 스파크가 자신의 분산 스토리지 시스템이없는, 그것은 분산 컴퓨팅에 대한 이러한 스토리지 시스템 중 하나에 의존한다.
S3 – 긴급하지 않은 배치 작업. S3는 데이터 지역성이 중요하지 않은 매우 구체적인 사용 사례에 적합합니다.
Cassandra – 스트리밍 데이터 분석에 적합하며 일괄 작업에 대한 과잉입니다.
HDFS – 데이터 지역성을 손상시키지 않으면 서 배치 작업에 적합합니다.
분산 처리 :
Spark는 Standalone, YARN 및 Mesos의 세 가지 모드로 실행할 수 있습니다.
분산 스토리지 및 분산 처리에 대한 자세한 설명은 아래 SE 질문을 참조하십시오.
답변
기본적으로 Spark에는 저장 메커니즘이 없습니다.
데이터를 저장하려면 빠르고 확장 가능한 파일 시스템이 필요합니다. S3 또는 HDFS 또는 다른 파일 시스템을 사용할 수 있습니다. Hadoop은 저렴한 비용으로 경제적 인 옵션입니다.
또한 Tachyon을 사용하면 Hadoop으로 성능이 향상됩니다. Apache Spark 처리를 위해 강력히 권장되는 Hadoop입니다 .
답변
예, 스파크는 hadoop없이 실행할 수 있습니다. 모든 핵심 스파크 기능은 계속 작동하지만 hdfs 등을 통해 클러스터의 모든 노드에 모든 파일 (코드 및 데이터)을 쉽게 배포하는 것과 같은 것들을 놓칠 것입니다.
답변
Spark 설명서에 따라 Spark는 Hadoop없이 실행할 수 있습니다.
리소스 관리자없이 독립형 모드로 실행할 수 있습니다.
그러나 다중 노드 설정에서 실행하려면 YARN 또는 Mesos와 같은 리소스 관리자 와 HDFS, S3 등과 같은 분산 파일 시스템 이 필요합니다 .
답변
예, Hadoop없이 Spark를 설치할 수 있습니다. 약간 까다로울 수 있습니다. arnon 링크를 참조하여 parquet를 사용하여 S3에서 데이터 저장소로 구성 할 수 있습니다.
http://arnon.me/2015/08/spark-parquet-s3/
Spark는 처리 만 수행하고 동적 메모리를 사용하여 작업을 수행하지만 데이터를 저장하려면 데이터 저장 시스템이 필요합니다. 여기서 hadoop은 Spark와 함께 역할을하며 Spark를위한 스토리지를 제공합니다. Spark와 함께 Hadoop을 사용하는 또 다른 이유는 오픈 소스이며 다른 데이터 스토리지 시스템과 비교하여 둘 다 쉽게 통합 할 수 있기 때문입니다. S3와 같은 다른 스토리지의 경우 위 링크에서 언급 한 것처럼 구성하기가 까다로울 것입니다.
그러나 Hadoop에는 Mapreduce라는 처리 장치도 있습니다.
둘 다의 차이점을 알고 싶으십니까?
이 기사를 확인하십시오 : https://www.dezyre.com/article/hadoop-mapreduce-vs-apache-spark-who-wins-the-battle/83
이 기사가 이해하는 데 도움이 될 것이라고 생각합니다.
-
무엇을 사용해야하는지,
-
언제 사용 하고
-
사용하는 방법 !!!
답변
예, 물론입니다. Spark는 독립적 인 계산 프레임 워크입니다. Hadoop은 MapReduce 계산 프레임 워크를 사용하는 분산 스토리지 시스템 (HDFS)입니다. Spark는 HDFS뿐만 아니라 기존 데이터베이스 (JDBC), kafka 또는 로컬 디스크와 같은 다른 데이터 소스에서도 데이터를 가져올 수 있습니다.