[HADOOP] 효율적으로 스파크에서 하둡 코드를 재사용?
HADOOP효율적으로 스파크에서 하둡 코드를 재사용?
안녕하세요, 저는 하둡로 작성된 코드가 지금은 스파크로 마이그레이션하려고합니다. 매퍼 및 감속기는 상당히 복잡하다. 그래서 스파크 프로그램 내부에 이미 존재하는 하둡 코드의 매퍼 및 감속기 클래스를 재사용하려고 노력했다. 누군가가 내가이를 어떻게 말해 줄 수 있습니까?
편집하다:
지금까지, 나는 불꽃 표준 하둡 워드 카운트 예 매퍼 클래스를 재사용 할 수 있었다 아래와 같이 구현
wordcount.java
수입 scala.Tuple2;
수입 org.apache.spark.SparkConf;
org.apache.spark.api.java을 가져옵니다. *;
org.apache.spark.api.java.function을 가져옵니다. *;
수입 org.apache.hadoop.fs.Path;
org.apache.hadoop.conf 가져. *;
org.apache.hadoop.io 가져. *;
가져 오기가 org.apache.hadoop.mapred. *;
org.apache.hadoop.util 가져. *;
수입는 java.io *;
수입 java.util.Arrays;
수입은 java.util.List;
수입 있으며, java.util.regex.Pattern;
공공 최종 클래스 단어 수를 구성 Serializable를 구현 확장 {
공공 정적 INT 메인 (문자열 []에 args) {예외 발생
SparkConf sparkConf = 새로운 SparkConf () setMaster ( "스파크 : // 자극-I0203 : 7077") .setAppName ( "단어 수").
JavaSparkContext CTX = 새로운 JavaSparkContext (sparkConf); // 생성 된 스파크 컨텍스트
JavaRDD <문자열> REC = ctx.textFile ( "HDFS : // 로컬 호스트 : 54,310 / 입 / words.txt"); // 레코드 리더
// 그 키 페어 RDD = 어떤 임의의 개수의 값 = 레코드를 만드는
JavaPairRDD
해결법
-
==============================
1.촉발하는 MapReduce를 변환하는 기본적인 방법은 :
촉발하는 MapReduce를 변환하는 기본적인 방법은 :
rdd.mapPartitions(partition -> setup() //map setup partition.map( item => val output = process(item) if (!partition.hasNext) { // Some cleanup code here } ) ).groupByKey().mapPartitions( //similarly for reduce code).saveAsHadoopFile(//params) //To save on HDFS
클라우 데라에 두 기사의 세트에 링크 포인트를 다음. 모든 것이 설명되어 있지만, 당신이 그것을 통과하면 당신은 불꽃에 하둡 작업의 일부를 변환하는 방법의 요점을 얻는다. 예를 들어 설정 및 정리 작업을 수행하는 방법.
http://blog.cloudera.com/blog/2014/09/how-to-translate-from-mapreduce-to-apache-spark/
참고 : 나는 촉발하는 맵리 듀스를 변환 시도했지만 그것은 느린 응용 프로그램을 가져왔다. 어쩌면 내 자신의 비 효율성은 스칼라를 사용 중이거나 어쩌면 스파크 배치 작업에 적합하지 않습니다. 그래서뿐만 아니라이 인식.
from https://stackoverflow.com/questions/30892316/reuse-hadoop-code-in-spark-efficiently by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] JobEnd 리스너 비는 HDFS 경로에서 소스 파일을 이동 촉발하는 파일을 찾을 수 없습니다 예외가 발생합니다 (0) | 2019.10.03 |
---|---|
[HADOOP] 제안은 우리의 발견 클러스터에서 원사 용기의 사용을 증가 필요 (0) | 2019.10.03 |
[HADOOP] 너치 1.15 설치 및 실행 문제 (0) | 2019.10.03 |
[HADOOP] 하이브 스키마에 대한 복잡한 XML 스키마 (0) | 2019.10.03 |
[HADOOP] Giraph 사육사 포트 문제 (0) | 2019.10.03 |