홈>
하이브 테이블이 데이터 프레임으로 캐시 된 다음 스트림 이벤트가 캐시 된 데이터 프레임과 결합되어 결과를 생성하는 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 버전과 동일한 결과를 생성하지 않습니다
- amazon s3 - S3 데이터 프레임으로 show () 및 toPandas ()를 호출 할 때 Spark orgapachehttpConnectionClosedException
- scala - 동일한 상위 데이터 프레임에서 파생 된 두 데이터 프레임을 결합 할 때 Spark DAG는 어떻게 작동합니까?
- c# - 데이터베이스에 항목을 추가 한 후 Blazor 구성 요소가 새로 고쳐지지 않음
- scala - 스파크 데이터 프레임에서 레코드 제거
- pandas - 병합 후 행의 데이터 프레임 원본에 태그 지정
- regex - 스파크 데이터 프레임 열을 \가 아닌에서 분할합니다
- json - python dict는 dict 키에 대한 행을 추가 한 후 데이터 프레임에 값을 추가합니다
- rdd Spark Scala에서 split () 후 필터링하는 방법은 무엇입니까?
- python - 데이터 프레임의 날짜 필드가 내보내기 후 선행 0을 제거
관련 질문
- apache spark - "어설 션 오류 - 어설 션 실패 : 안전하지 않은 기호 불안정"이란 무엇입니까?
- apache spark - Pyspark에서 키 값 마루 열을 효율적으로 선택
- apache spark - DStream과 Seq [RDD]의 차이점은 무엇입니까?
- apache spark - 열 내용 길이가 <x 인 행을 선택하는 pyspark
- java - 스파크 데이터 세트 - numberformatexception : 길이가 0 인 biginteger
- scala - 큰 소수를 위해 Spark로 이동할 때 정밀도 손실
- Java Spark 데이터 프레임에서 조인 후 select가 예외를 발생시키는 이유는 무엇입니까?
- apache spark - 데이터 프레임에서 YEARMONTH (차이)를 얻는 방법 (스칼라)
- apache spark - pyspark에서 두 개의 값 (,으로 구분)이있는 열이있는 테이블을 두 개의 값으로 나누는 방법은 무엇입니까?
- 다중 조인을위한 Spark SQL 브로드 캐스트
개념을 이해하자면 Cache () 함수는 데이터 프레임을 메모리에 저장합니다. 따라서이 데이터 프레임에서 수행 할 추가 작업이 있으면 데이터 프레임을 생성 할 때부터 DAG를 통해 이동하지 않습니다. 데이터를 메모리에 저장할 때이 데이터 프레임에서 다양한 작업을 수행 할 수 있으며 처음에는 저장하는 데 시간이 걸리지 만 추가 작업이 더 빠릅니다. 시나리오에 따라 캐싱없이 스트리밍 플랫폼으로 데이터를 캐시 할 필요가 없습니다. 데이터에 대한 작업을 수행하고 결과를 추가 모드로 HDFS에 저장하십시오. 데이터 프레임을 캐시하면 클러스터 메모리가 필요합니다.
내 지식에 따라 귀하의 질문에 대해 캐시 된 데이터 프레임을 업데이트하는 TTL 메커니즘이 없습니다. 명시 적으로 데이터를 다시 읽고 캐시해야합니다.