[SCALA] 분할 마루 파일에서 읽기 DataFrame
SCALA분할 마루 파일에서 읽기 DataFrame
어떻게 dataframe 같은 조건으로 분할 된 마루를 읽을 수있는,
이 작품 벌금,
val dataframe = sqlContext.read.parquet("file:///home/msoproj/dev_data/dev_output/aln/partitions/data=jDD/year=2015/month=10/day=25/*")
파티션이 (일 = 5~6) 또는 5 일 = 같은 것을 판독 할 수있다 일 = 6 = 1 일 = 30 일 동안있다,
val dataframe = sqlContext.read.parquet("file:///home/msoproj/dev_data/dev_output/aln/partitions/data=jDD/year=2015/month=10/day=??/*")
나는 그것이 나에게 모든 30 일 데이터를 제공하고 그것은 너무 큰 * 넣어합니다.
해결법
-
==============================
1.sqlContext.read.parquet 입력으로서 다중 경로를 취할 수있다. 방금 일 = 5 일 = 6 원하는 경우, 당신은 단순히 두 개의 경로를 같이 추가 할 수 있습니다 :
sqlContext.read.parquet 입력으로서 다중 경로를 취할 수있다. 방금 일 = 5 일 = 6 원하는 경우, 당신은 단순히 두 개의 경로를 같이 추가 할 수 있습니다 :
val dataframe = sqlContext .read.parquet("file:///your/path/data=jDD/year=2015/month=10/day=5/", "file:///your/path/data=jDD/year=2015/month=10/day=6/")
당신이 일에서 폴더가있는 경우 = X, 말 국가 = XX 같은 나라는 자동으로 dataframe의 열로 추가됩니다.
val dataframe = sqlContext .read .option("basePath", "file:///your/path/") .parquet("file:///your/path/data=jDD/year=2015/month=10/day=5/", "file:///your/path/data=jDD/year=2015/month=10/day=6/")
-
==============================
2.당신은 예를 들어, 일 = 5 일 = 6, 여러 일 동안 읽을 수 및 경로 자체의 범위를 언급 할 경우, 와일드 카드를 사용할 수 있습니다 :
당신은 예를 들어, 일 = 5 일 = 6, 여러 일 동안 읽을 수 및 경로 자체의 범위를 언급 할 경우, 와일드 카드를 사용할 수 있습니다 :
val dataframe = sqlContext .read .parquet("file:///your/path/data=jDD/year=2015/month=10/day={5,6}/*")
와일드 카드는 또한 일의 범위를 지정하는 데 사용할 수 있습니다 :
val dataframe = sqlContext .read .parquet("file:///your/path/data=jDD/year=2015/month=10/day=[5-10]/*")
이 5에서 10까지의 모든 일을 일치합니다.
-
==============================
3.당신은 mergeSchema = TRUE 옵션을 제공해야합니다. 아래에 언급 한 것처럼 (이는 1.6.0에서이다)
당신은 mergeSchema = TRUE 옵션을 제공해야합니다. 아래에 언급 한 것처럼 (이는 1.6.0에서이다)
val dataframe = sqlContext.read.option("mergeSchema", "true").parquet("file:///your/path/data=jDD")
이 dataframe에 모든 마루 파일을 읽고 또한 dataframe 데이터의 열을 년, 월, 일을 생성합니다.
참조 : https://spark.apache.org/docs/1.6.0/sql-programming-guide.html#schema-merging
from https://stackoverflow.com/questions/33650421/reading-dataframe-from-partitioned-parquet-file by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 어떻게 패턴 일치 큰 스칼라 케이스 클래스? (0) | 2019.11.19 |
---|---|
[SCALA] 슬릭의 동반자 객체와 매핑 프로젝션 (0) | 2019.11.19 |
[SCALA] 스칼라 글로벌 대 Play의 실행 컨텍스트 (0) | 2019.11.19 |
[SCALA] X의 컬렉션에 옵션 [X]의 스칼라 수집을 변환하는 방법 (0) | 2019.11.19 |
[SCALA] 아파치 Buildr / 메이븐 2 REPO 이름을 어떻게 찾을 수 있습니까 (0) | 2019.11.19 |