LabHub
学习 学习路径 课程

Apache Spark — 느린 잡의 답은 실행 계획과 이벤트 로그에 있다 · 캐시와 재계산 · 测验

퀴즈: 캐시와 재계산

在 LabHub 中继续学习

6道题. 完成作答后会显示正确答案和解析。

  1. 캐시 없이 같은 DataFrame 으로 count() 를 부르고 이어서 파일로 썼다. 원본 CSV 는 몇 번 읽히는가?

    1. 한 번 — 두 번째 행동은 첫 행동의 결과를 자동으로 재사용한다
    2. 한 번 — count() 는 원본을 읽지 않고 메타데이터만 본다
    3. 두 번 — 행동마다 계보를 따라 원본부터 다시 계산한다
    4. 세 번 — 스키마 확인용 잡이 행동마다 하나씩 더 붙는다
  2. PySpark 에서 DataFrame.cache() 가 쓰는 기본 저장 수준은?

    1. MEMORY_ONLY
    2. MEMORY_AND_DISK_DESER
    3. DISK_ONLY
    4. OFF_HEAP
  3. df.cache() 를 부른 직후, 아직 행동은 부르지 않았다. 이 상태를 바르게 말한 것은?

    1. 캐시할 표시만 있고 아직 아무 파티션도 저장되지 않았다
    2. 드라이버가 모든 파티션을 곧바로 계산해 메모리에 올렸다
    3. 원본 파일이 실행기의 로컬 디스크로 복사되기 시작했다
    4. Storage 탭에 크기가 0 인 캐시 항목이 이미 나타난다
  4. 튜닝 가이드가 설명하는 통합 메모리에서 spark.memory.fraction(기본 0.6)은 무엇에 대한 비율인가?

    1. 실행기에 할당된 전체 컨테이너 메모리에 대한 비율
    2. JVM 힙 전체에 대한 비율로, 나머지 40% 는 캐시 전용
    3. 운영체제의 남는 메모리에 대한 비율로, 매번 다시 계산됨
    4. JVM 힙에서 300MiB 를 뺀 나머지에 대한 비율
  5. 반복 알고리즘에서 같은 DataFrame 에 변환을 수십 번 덧대 계획이 비대해졌다. 캐시 대신 체크포인트를 쓰는 이유로 맞는 것은?

    1. 체크포인트는 결과를 메모리에만 두어 캐시보다 빠르기 때문이다
    2. 체크포인트는 결과를 파일로 쓰고 논리 계획을 잘라 내기 때문이다
    3. 체크포인트는 게을러서 행동이 불릴 때까지 아무 비용이 없기 때문이다
    4. 캐시는 반복 알고리즘에서 틀린 답을 낼 수 있기 때문이다
  6. SQL 의 CACHE TABLE 과 DataFrame 의 cache() 의 차이로 맞는 것은?

    1. 둘 다 게으르고, 첫 조회 때 저장한다
    2. CACHE TABLE 은 디스크에만 저장하고 cache() 는 메모리에만 둔다
    3. CACHE TABLE 은 기본이 즉시이고, LAZY 를 붙여야 게을러진다
    4. CACHE TABLE 은 세션 하나에서만 보이고 cache() 는 모든 세션이 공유한다