2017-10-18 1 views
1

우리는 스파크 및 쪽모이 세공 파일을 사용하여 하 웁스 클러스터에서 데이터를 수집하기 시작합니다. 그러나 우리가 마루 스키마가 미래에 변경되지 않을 것이라는 것을 보장하는 것은 매우 어렵습니다. 우리는 파티션 된 쪽모 세공 데이터 프레임에 대한 최신 스키마 얻기

우리는 다른 시험을 포함했다

우리가 구현하고자하는 규칙 최신 마루 파일이 우리의 참조가 될 것입니다 ... 스키마가 변경 되어도, 관람석을 읽을 수있는 가장 좋은 방법을 찾으려고 :.

  • spark.read.parquet는 ("테스트") ("연도 = 2017 개월 = 10 일> = 15")
  • spark.read.parquet를 필터링 ("테스트/년 = 2017/년 = 2017/월 = 10/일 = 15 ")
      0/월 = 10/일 = 17", "테스트/
    • //는
  • spark.read.parquet ("테스트/년 = 2017/월 = 10/일 = {15, 16, 17}")

등 다른 순서로 테스트 ..

읽기 방법으로 유지되는 스키마는 항상 가장 오래된 스키마 (즉, 10 월 15 일)입니다.

누군가 최신 스키마 (예 : 10 월 17 일)를 얻는 방법을 알고 있습니까?

당연히 spark.read.option ("mergeSchema", "true")은 우리가 최근의 마루에서 떨어 뜨린 경우 열을 제거하지 않기 때문에 작동하지 않습니다. 여기서 3 일 동안 테스트를했는데 잠재적으로 매우 큰 범위의 파티션에있을 수 있습니다. 사전

감사

답변

0

에서

덕분에 나는 pyspark이를 쓰고 있어요. 다른 언어에도 적용 가능해야합니다.

schema = spark.read.parquet("test/year=2017/month=10/day=17/").schema 
df = spark.read.schema(schema).parquet("test/*/*/*/") 
+0

덕분에 지금 우리가 우리의 역사를 다시하지만 귀하의 제안이 실제로 매우 흥미에 대한 제안 ... 에 대한 많은. – easyoups

관련 문제