홈>
하이브 테이블이 데이터 프레임으로 캐시 된 다음 스트림 이벤트가 캐시 된 데이터 프레임과 결합되어 결과를 생성하는 SparkStreaming 솔루션을 개발 중입니다.
그러나 문제는 Hive 테이블이 특정 빈도로 업데이트되므로 캐시 된 데이터 프레임도 그에 따라 업데이트되어야한다는 것입니다.업데이트 된 Hive 테이블 레코드를 사용하여 특정 시간 간격으로 데이터가 자동으로 새로 고쳐지는 캐시 된 데이터 프레임 주변의 TTL 또는 다른 메커니즘이 어떤 식 으로든 말해집니다.
- 답변 # 1
- 답변 # 2
사례에 대한 해결 방법이 있습니다. 별도의나사에서 일정 간격 후에 코드를 트리거하여 하나의 크론 작업 또는 일정 작업을 시작합니다. 요구 사항에 따라 설정할 수 있습니다.
val spark: SparkSession = ??? spark.sql("refresh table <your table name>")
관련 자료
- pyspark - 데이터 프레임 결과를 하이브 테이블에 삽입 할 때 Spark 예외
- typescript - api의 데이터는 각 페이지를 새로 고친 후에 만 표시됩니다
- python - 데이터 프레임에서 문자 뒤의 모든 항목 제거
- pyspark - Spark Streaming의 파일 싱크에 집계 된 데이터 프레임을 쓰는 예외
- python - 사전에 규칙을 정의한 후 Pandas 데이터 프레임 (단어 빈도)에서 단어 바꾸기
- 플랫 맵을 사용하여 Spark Scala 데이터 프레임 열에서 일대 다 매핑을 수행하는 방법
- python - 키를 열로 사용하여 JSON 사전을 Spark 데이터 프레임으로 변환
- pyspark - Spark DataFrame API는 Spark SQL 버전과 동일한 결과를 생성하지 않습니다
- S3 데이터 프레임으로 .show () 및 .toPandas ()를 호출 할 때 Spark org.apache.http.ConnectionClosedException
- scala - 동일한 상위 데이터 프레임에서 파생 된 두 데이터 프레임을 결합 할 때 Spark DAG는 어떻게 작동합니까?
- c# - 데이터베이스에 항목을 추가 한 후 Blazor 구성 요소가 새로 고쳐지지 않음
- scala - 스파크 데이터 프레임에서 레코드 제거
- pandas - 병합 후 행의 데이터 프레임 원본에 태그 지정
- regex - 스파크 데이터 프레임 열을 \가 아닌에서 분할합니다
- json - python dict는 dict 키에 대한 행을 추가 한 후 데이터 프레임에 값을 추가합니다
- rdd Spark Scala에서 split () 후 필터링하는 방법은 무엇입니까?
- python - 데이터 프레임의 날짜 필드가 내보내기 후 선행 0을 제거
관련 질문
- 파일에서 데이터를 읽는 동안 Spark "modifiedBefore"옵션
- "main"java.lang.NoSuchMethodError : scala.Some.value () Ljava /lang /Object를 제공하는 스파크 제출
- 패키지 배포의 객체 SparkHadooputil은 org.apache.spark.deploy에서 액세스 할 수 없습니다.
- 캐시에서 Spark DataFrame을 삭제하십시오
- 구조화 된 스트리밍을 정상적으로 종료 스파크
- scala : Spark JDBC savemode.overwrite에서 예외 처리를 수행하는 방법은 무엇입니까?
- PYCHARM의 Spark-Avro 오류 [TypeError : 'RecordSchema'object is not iterable]
- hadoop : JDBC를 통해 Spark SQL 및 Apache Drill을 통합합니다
- 스파크 | 너무 많은 부품 파일 생성
- python : 조건을 사용하여 문자열 배열을 구조체 배열로 변환하는 방법
개념을 이해하자면 Cache () 함수는 데이터 프레임을 메모리에 저장합니다. 따라서이 데이터 프레임에서 수행 할 추가 작업이 있으면 데이터 프레임을 생성 할 때부터 DAG를 통해 이동하지 않습니다. 데이터를 메모리에 저장할 때이 데이터 프레임에서 다양한 작업을 수행 할 수 있으며 처음에는 저장하는 데 시간이 걸리지 만 추가 작업이 더 빠릅니다. 시나리오에 따라 캐싱없이 스트리밍 플랫폼으로 데이터를 캐시 할 필요가 없습니다. 데이터에 대한 작업을 수행하고 결과를 추가 모드로 HDFS에 저장하십시오. 데이터 프레임을 캐시하면 클러스터 메모리가 필요합니다.
내 지식에 따라 귀하의 질문에 대해 캐시 된 데이터 프레임을 업데이트하는 TTL 메커니즘이 없습니다. 명시 적으로 데이터를 다시 읽고 캐시해야합니다.