spark - jdbc 데이터베이스 파 티 션 읽 기
3377 단어 spark
import java.util.Properties
import org.apache.spark.sql.{SaveMode, SparkSession}
object MppTopN {
def main(args: Array[String]): Unit = {
val session = SparkSession.builder().appName("testMPP").getOrCreate()
val prop = new Properties()
prop.setProperty("user","root")
prop.setProperty("password","root")
prop.setProperty("driver","com.gbase.jdbc.Driver")
prop.setProperty("fetchsize","500000")
val url="jdbc:gbase://172.18.66.70/lishuaitest"
val tableName="menjin_1"
// , , , , , 。
val predicates = Array(
"2015/8/1" -> "2015/8/10",
"2015/8/11" -> "2015/8/20",
"2015/8/21" -> "2015/8/30",
"2015/9/1" -> "2015/9/5",
"2015/9/6" -> "2015/9/10",
"2015/9/11" -> "2015/9/15",
"2015/9/16" -> "2015/9/20",
"2015/9/21" -> "2015/9/25",
"2015/9/26" -> "2015/9/30",
"2015/10/1" -> "2015/10/5",
"2015/10/6" -> "2015/10/10",
"2015/10/11" -> "2015/10/13",
"2015/10/14" -> "2015/10/15",
"2015/10/16" -> "2015/10/20",
"2015/10/21" -> "2015/10/23",
"2015/10/24" -> "2015/10/25",
"2015/10/26" -> "2015/10/28",
"2015/10/29" -> "2015/10/31",
"2015/11/1" -> "2015/11/5",
"2015/11/6" -> "2015/11/10",
"2015/11/11" -> "2015/11/15",
"2015/11/16" -> "2015/11/20",
"2015/11/21" -> "2015/11/25",
"2015/11/26" -> "2015/11/30",
"2015/12/1" -> "2015/12/5",
"2015/12/6" -> "2015/12/10",
"2015/12/11" -> "2015/12/15",
"2015/12/16" -> "2015/12/20",
"2015/12/21" -> "2015/12/23",
"2015/12/24" -> "2015/12/25",
"2015/12/26" -> "2015/12/28",
"2015/12/29" -> "2015/12/31"
).map{
case (start,end) =>
s"cast(INOUTTIME as date) >= date '$start'" + s"and cast(INOUTTIME as date) <= date '$end'"
}
// ,
val dataFrame = session.sqlContext.read.jdbc(url,tableName,predicates,prop)
dataFrame.registerTempTable("test")
val frame = dataFrame.sqlContext.sql("select BUILDING from test order by BUILDING limit 50 ")
frame.coalesce(1).write.mode(SaveMode.Append).jdbc(url,"top_menjin",prop)
session.stop()
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Spark 팁: 컴퓨팅 집약적인 작업을 위해 병합 후 셔플 파티션 비활성화작은 입력에서 UDAF(사용자 정의 집계 함수) 내에서 컴퓨팅 집약적인 작업을 수행할 때 spark.sql.adaptive.coalescePartitions.enabled를 false로 설정합니다. Apache Sp...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.