[HADOOP] 스파크 방송 변수
HADOOP스파크 방송 변수
내가 클러스터에서 실행되는 다음과 같은 코드가 있다고 가정하자 :
private def modifyDatasetFormat(data : String, mappings : Array[HashMap[String, Int]]) : Array[Tuple2[Tuple3[Int,Int,Int],Int]] = {
}
var map = new HashMap[String,Int]()
map+=("hello" -> 2)
var mappings = new Array[HashMap[String, Int]])(1)
mappings(0)=map
val originalDataset = sc.textFile("/home/paourissi/Desktop/MyProject/nursery.1000.withID")
val dataset = originalDataset.
flatMap(data => modifyDatasetFormat(data, mappingsInMap)).persist(StorageLevel.MEMORY_AND_DISK)
나는 값의 매핑을위한 방송을 사용해야하는 또는이 필요하지 않습니다? 기본적으로 할 때 우리는 어쨌든 방송 변수를 사용합니까? 효율성에 대한?
감사합니다.
해결법
-
==============================
1.우선, 방송 변수는 동시에 한 컴퓨터의 메모리에 맞게 할 수있는 클러스터를 통해 공유 할 수 있도록 설계되어있다.
우선, 방송 변수는 동시에 한 컴퓨터의 메모리에 맞게 할 수있는 클러스터를 통해 공유 할 수 있도록 설계되어있다.
둘째, 방송 변수는 불변, 그래서 그들은 (경우에 축전지를 살펴) 나중에 변경할 수 없습니다.
능률: 스파크 내부, 클러스터의 모든 노드는 그들이 할 수있는 다운로드, 그리고 그들이 할 수있는 업로드하여 신속하고 효율적으로 변수를 배포하려고합니다. 이 시도하고 모든 일을하고 모든 노드에 데이터를 밀어하는 데 하나 개의 노드가 아닌 그들이 훨씬 더 빨리합니다.
아파치 스파크 문서에 언급 된 바와 같이, 방송 변수는 "정적 룩업 테이블"에 대한 좋은 사례입니다
당신은 SparkTutorials하여이 흥미로운 게시물을 발견했습니다
from https://stackoverflow.com/questions/34041436/broadcast-variables-in-spark by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Oozie 자바 잡스 이메일 (0) | 2019.09.29 |
---|---|
[HADOOP] Oozie 워크 플로우 EL 기능 타임 스탬프 () 초를 제공하지 않습니다 (0) | 2019.09.29 |
[HADOOP] HBase를, 하둡은 : 어떻게 HBase를 테이블이나 하둡 파일 시스템 경로의 크기를 추정 할 수 있습니까? (0) | 2019.09.29 |
[HADOOP] 실 클러스터 모드에 실패 oozie 런처 (0) | 2019.09.29 |
[HADOOP] 읽기 및 JAVA에서 HDFS에 쓸 수있는 기존의 API가 있습니까 (0) | 2019.09.29 |