복붙노트

[HADOOP] Apache Spark를 웹 응용 프로그램의 백엔드로 사용

HADOOP

Apache Spark를 웹 응용 프로그램의 백엔드로 사용

우리는 고객 데이터 및 행동 정보로 구성된 테라 바이트의 데이터를 HDFS에 저장했습니다. 비즈니스 분석가는 필터를 사용하여이 데이터의 분할 및 다이 싱을 수행하려고합니다.

이 필터는 스파크 RDD 필터와 유사합니다. 필터의 몇 가지 예는 다음과 같습니다. 연령이 18 세 이상 35 세 미만인 날짜 : 10-02-2015, 20-02-2015, 성별 = 남성, 영국 (미국, 인도)의 국가 등.이 필터 기능을 JSF (또는 재생) 기반 웹 응용 프로그램입니다.

분석가들은 필터를 적용 / 제거하고 최종 필터링 된 데이터의 수를 원하는대로 확인하여 실험하고 싶습니다. 이는 반복적 인 운동이며이 웹 응용 프로그램을 사용하는 최대 사용자 수는 약 100 명입니다.

Scala를 필터 구현을위한 프로그래밍 언어로 사용할 계획입니다. 웹 애플리케이션은 서버로드시 단일 SparkContext를 초기화 할 것이고 모든 필터는 동일한 SparkContext를 재사용 할 것입니다.

Spark은 웹 애플리케이션을 통한 대화식 쿼리의 사용 사례에 적합합니다. 또한 하나의 SparkContext를 공유하는 아이디어는이를 해결하는 접근 방법입니까? 또 다른 대안은 ORC 압축 파일 형식을 사용하는 Tez 엔진과 JDBC / Thrift를 사용하여 쿼리하는 Apache Hive입니다. Spark보다이 옵션이 더 좋은가요?

해결법

  1. ==============================

    1.Spark의 가장 좋은 사용 사례는 아니지만 완전히 가능합니다. 그러나 레이턴시는 높을 수 있습니다.

    Spark의 가장 좋은 사용 사례는 아니지만 완전히 가능합니다. 그러나 레이턴시는 높을 수 있습니다.

    Spark Jobserver를 확인해보십시오. 필요한 기능 대부분을 제공해야합니다. Spark의 JDBC Thrift 서버를 사용하여 데이터에 대한 SQL 뷰를 얻을 수도 있습니다.

    일반적으로 나는 이것을 위해 SparkSQL을 사용할 것을 조언 할 것이고, 당신이 관심을 가질만한 것들을 이미 처리하고있다.

    또 다른 옵션은 Databricks Cloud를 사용하는 것이지만 아직 공개적으로 사용할 수는 없습니다.

  2. ==============================

    2.Apache Zeppelin은 apache spark를 백 엔드로 사용하여 웹 응용 프로그램을 통해 대화식으로 데이터를 수집하고 시각화하기위한 프레임 워크를 제공합니다. 다음은 기능을 보여주는 비디오입니다.

    Apache Zeppelin은 apache spark를 백 엔드로 사용하여 웹 응용 프로그램을 통해 대화식으로 데이터를 수집하고 시각화하기위한 프레임 워크를 제공합니다. 다음은 기능을 보여주는 비디오입니다.

    프로젝트가 대기 시간이 짧은 쿼리 작업을 위해 단일 sparkContext를 사용하는 것처럼 보입니다.

  3. ==============================

    3.결국 어떤 솔루션을 선택했는지 알고 싶습니다.

    결국 어떤 솔루션을 선택했는지 알고 싶습니다.

    두 가지 명제가 있습니다.

  4. ==============================

    4.Apache Livy는 웹 / 모바일 앱에서 Spark 작업을 프로그래밍 방식으로 내결함성 있고 멀티 테넌트로 제출할 수 있습니다 (Spark 클라이언트 필요 없음). 따라서 여러 사용자가 동시에 Spark 클러스터와 상호 작용할 수 있습니다.

    Apache Livy는 웹 / 모바일 앱에서 Spark 작업을 프로그래밍 방식으로 내결함성 있고 멀티 테넌트로 제출할 수 있습니다 (Spark 클라이언트 필요 없음). 따라서 여러 사용자가 동시에 Spark 클러스터와 상호 작용할 수 있습니다.

  5. from https://stackoverflow.com/questions/29276381/using-apache-spark-as-a-backend-for-web-application by cc-by-sa and MIT license