spark sql與mysql 資料載入與匯出資料到mysql
package hgs.spark.sql import org.apache.spark.SparkConf import org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache.spark.sql.SQLContext import org.apache.spark.sql.SQLImplicits import org.apache.spark.sql.types.StructType import org.apache.spark.sql.types.StructField import org.apache.spark.sql.types.StringType import org.apache.spark.sql.types.IntegerType import org.apache.spark.sql.Row import java.util.Properties //第一種方法建立dataframe object SqlTest1 { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("sqltest1").setMaster("local") val context = new SparkContext(conf) val sqlContext = new SQLContext(context) val rdd = context.textFile("d:\\person",1) val rdd2 = rdd.map(x=>{val t = x.split(" ");person(t(0).toInt,t(1),t(2).toInt)}) val rdd3 = rdd.map(x=>{val t = x.split(" ");person(t(0).toInt,t(1),t(2).toInt)}) //第一種方法建立dataframe,在這裡需要匯入隱式轉換 import sqlContext.implicits._ val persondf = rdd2.toDF() val persondf3 = rdd3.toDF() //這個方法在2.1.0裡面被廢除 //persondf.registerTempTable("person") //使用該函式代替 persondf.createOrReplaceTempView("person") persondf3.createOrReplaceTempView("person2") val result = sqlContext.sql("select a.id ,b.name from person a ,person2 b where a.id = b.id") //列印查詢的結果 result.show() //或者將結果儲存到檔案 //result.write.json("d://personselect") val props = new Properties(); props.put("user", "root") props.put("password", "123456") result.write.mode("append").jdbc("jdbc:mysql://192.168.6.133:3306/hgs", "person", props) //result.write.mode(saveMode) context.stop() } } case class person(id:Int,name:String,age:Int) object sqlTest3{ def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("sqltest3").setMaster("local") val context = new SparkContext(conf) val sqlContext = new SQLContext(context) val persontable = sqlContext.read.format("jdbc").option("url", "jdbc:mysql://192.168.6.133:3306/hgs") .option("dbtable", "person") .option("user", "root") .option("password", "123456").load().createOrReplaceTempView("person") sqlContext.sql("select id,concat(name,\"xxx\") from person").show() context.stop() } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31506529/viewspace-2219303/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLServer匯出匯入資料到MySQLServerMySql
- MySQL表資料匯入與匯出MySql
- Mysql 資料庫匯入與匯出MySql資料庫
- 【MySQL】白話說MySQL(五),資料的匯出與匯入MySql
- MySQL資料匯入匯出方法與工具介紹MySql
- 使用mysqlimport匯入資料到mysqlMySqlImport
- mysql資料匯入匯出MySql
- mysql資料匯出匯入MySql
- sqoop用法之mysql與hive資料匯入匯出OOPMySqlHive
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- 資料庫SQL Server DAC 匯入匯出資料到SQL Azure問題資料庫SQLServer
- MySQL資料匯入匯出方法與工具介紹一(轉)MySql
- mysql 資料庫匯入匯出MySql資料庫
- MySQL資料庫匯入匯出MySql資料庫
- 【Mysql】匯出資料到excel檔案中MySqlExcel
- Python批量匯入Excel資料到MySQLPythonExcelMySql
- 使用load data匯入資料到mysqlMySql
- MySQL入門--匯出和匯入資料MySql
- 【mysql】資料庫匯出和匯入MySql資料庫
- mysql匯入匯出.csv格式資料MySql
- mysqldump匯入匯出mysql資料庫MySql資料庫
- MongoDB資料匯入與匯出MongoDB
- MySQL資料匯入匯出牛刀小試MySql
- mysql匯出資料MySql
- MySQL 匯出資料MySql
- 使用Spark載入資料到SQL Server列儲存表SparkSQLServer
- 利用跳板機連線mysql,匯出資料到csvMySql
- Mongodb資料的匯出與匯入MongoDB
- AWR資料的匯出與匯入
- MySQL資料匯入匯出亂碼問題MySql
- 在SQL Server資料庫中匯入MySQL資料庫Server資料庫MySql
- 從EXCEL匯入資料到SQL SERVERExcelSQLServer
- MySQL資料的匯出MySql
- MySQL資料的匯入MySql
- mysql 匯入匯出 sql檔案MySql
- Mac和Linux之間傳輸資料,並匯出mysql資料到本地MacLinuxMySql
- SQL Server資料匯入匯出技術概述與比較(轉)SQLServer
- MySQL資料匯入匯出之Load data fileMySql