SPARK
spark mysql option
🐰히히
2023. 2. 6. 17:37
반응형
partitionColumn파티션을 결정하는 데 사용해야 하는 열
lowerBound가져올 값의 범위 를 upperBound결정합니다.
전체 데이터 세트는 다음 쿼리에 해당하는 행을 사용
SELECT * FROM table WHERE partitionColumn BETWEEN lowerBound AND upperBound
- lowerBound: 0
- upperBound: 1000
- numPartitions: 10
Stride는 100이고 파티션은 다음 쿼리에 해당합니다.
- SELECT * FROM table WHERE partitionColumn BETWEEN 0 AND 100
- SELECT * FROM table WHERE partitionColumn BETWEEN 100 AND 200
- SELECT * FROM table WHERE partitionColumn BETWEEN 900 AND 1000
upperBound / numPartitions - lowerBound / numPartitions
upperbound 구하는 법
query = f"""SELECT MIN({partitionColumn}), MAX({partitionColumn}) FROM ({db.table})"""
min_max_df = spark.read \
.format("jdbc") \
.option("url", "jdbc:postgresql:postgres") \
.option("dbtable", "db.table") \
.option("user", "user")\
.option("password", "pass") \
.option("query", query) \
.load()
lowerBound, upperBound = min_max_df.collect()[0]
728x90
반응형