SparkSql select 쿼리 실행
4928 단어 sparksql
package cn.itcast.spark.test
import java.sql.{Connection, Date, DriverManager, PreparedStatement}
import java.util.Properties
import org.apache.spark.sql.{DataFrame, SQLContext}
import org.apache.spark.{SparkConf, SparkContext}
// sparksql
object test3 {
//
lazy val url = "jdbc:mysql://192.168.10.190:3306/bigdata"
lazy val url2 = "jdbc:mysql://192.168.10.190:3306/bigdata?user=root&password=x5"
lazy val username = "root"
lazy val password = "x5"
def main(args: Array[String]) {
var conn: Connection = null
var ps : PreparedStatement = null
//val sparkConf = new SparkConf().setAppName("sparkSqlTest").setMaster("yarn-cluster").set("spark.app.id", "sqlTest")
val sparkConf = new SparkConf().setAppName("SQLDemo").setMaster("local")
// context
val sc = new SparkContext(sparkConf)
// sqlContext
val sqlContext = new SQLContext(sc)
// , spark sql
import sqlContext.implicits._
// jdbc
val uri = url + "?user=" + username + "&password=" + password + "&useUnicode=true&characterEncoding=UTF-8"
val prop = new Properties()
// : , , mysql
prop.put("driver", "com.mysql.jdbc.Driver")
// mysql
val df_test1: DataFrame = sqlContext.read.jdbc(uri, "user_t", prop)
val df_test2: DataFrame = sqlContext.read.jdbc(uri, "t_user2", prop)
//
val predicates = Array[String]("id <= 2", "id >= 4 and id <= 5 ")
val df_test3: DataFrame = sqlContext.read.jdbc(uri, "t_user2",predicates, prop)
// dataframe
//
df_test2.select("id", "name", "age").collect()
.foreach(row => {
println("id " + row(0) + " ,name " + row(1) + ", age " + row(2))
})
df_test3.select("id", "name", "age").collect()
.foreach(row => {
println("id " + row(0) + " ,name " + row(1) + ", age " + row(2))
})
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[AWS Glue] 쿼리를 바탕으로 Cloudfront 로그를 Parquet & JST의 ETL (+ 구역 분할) 단계로 나누기알림으로 다음과 같은 용례에 대한 대응 절차를 기재한다. (aws 컨트롤러의 사용 방법 등 세부 부분은 생략) Athena로 Cloudfront 로그 분석 ・Cloudfront 로그 내의 시간은 UTC이기 때문에 J...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.