1. 程式人生 > >Spark/scala 寫資料到Mysql資料庫方法一

Spark/scala 寫資料到Mysql資料庫方法一

首先需要使用Navicat在資料庫建庫santi,在santi內建表santi_001
表的格式需要與santi_001(lal: String,count:Int,time:String)相同。
程式碼如下。
使用SQL語句寫入資料庫

import java.sql.{DriverManager, Connection}
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkContext, SparkConf}

object ToMysql{
/**
*’host’: “192.168.137.131”,
*’user’: “root”,
*’password’: “password”,
*’database’: “santi”,
*’charset’: ‘utf8’
* */

case class santi_001(lal: String,count:Int,time:String)
//模式匹配,測試後不模式匹配也寫入成功
val url=”jdbc:mysql://192.168.137.131:3306/santi”
def myFun(iterator: Iterator[(String, Int,String)]): Unit = {
var conn: Connection= null
var ps:java.sql.PreparedStatement=null
//比Statement方便,S執行一條Sql就得執行一次Statement,而PS效能體現在多次執行Sql,而且引數設定更加方便
val sql=”insert into santi_001(lal, count,time) values (?,?,?)”

conn=DriverManager.getConnection(url,”root”,”password”)
ps = conn.prepareStatement(sql)
iterator.foreach(data => {
ps.setString(1, data._1)
ps.setInt(2, data._2)
ps.setString(3, data._3)
ps.executeUpdate() //執行了Sql語句
}
)
}

def main(args: Array[String]) {
//建立環境變數
val sparkConf = new SparkConf().setAppName(“PeakTimePeople”)
//建立環境變數例項
val sc = new SparkContext(sparkConf)
val a=List((“

[email protected]”,12,”20160201”),(“[email protected]”,31,”20160831”),(“[email protected]”,31,”20160826”))
val data:RDD[(String, Int, String)] = sc.parallelize(a) //parallelize可分割槽的makeRDD
data.foreachPartition(myFun) //foreachPartition對每一個分割槽使用Function
sc.stop()
}
}

執行結果
這裡寫圖片描述

相關推薦

Spark/scala 資料到Mysql資料庫方法

首先需要使用Navicat在資料庫建庫santi,在santi內建表santi_001 表的格式需要與santi_001(lal: String,count:Int,time:String)相同。 程式碼如下。 使用SQL語句寫入資料庫 import j

MySQL資料庫)編譯安裝、安裝後優化操作及超戶忘記資料庫密碼的解決方法

MySQL的下載地址:http://www.dev.mysql.com/downloads 準備工作:解除安裝rpm方式安裝的mysql-server、mysql       rpm -qa | grep mysql 若存在,用rpm -e mysql-server mysql --nodeps命令解除

讀取股票資料儲存到本地MySQL資料庫

主要有三個步驟:(1)從東方財富上爬蟲讀取到所有股票的codelist;(2)從鳳凰網的api獲取到某隻股票歷史上所有資料,開盤收盤價,成交量,成交金額,ma均線價格等資料;(3)通過pymysql將獲取到的資料儲存到本地。 第一個步驟的實現,從EAST_MONEY_URL

mysql 資料庫刪除張表中的重複資料

1.備份操作表資料TBL_BASE_YTX_GROUP2.複製操作表  TBL_BASE_YTX_GROUP   tbl_base_ytx_group_copy13.刪除複製表中的資料delete from tbl_base_ytx_group_copy14.去重操作表中資料

MySql資料庫插入資料時,create_time欄位自動新增為當前時間

有時候我們會有這樣的需求。往資料庫新增一條資料。然後表中有一個欄位是creat_time。新增資料的同時,這個欄位預設為當前時間。其實很簡單。設定欄位型別為timestamp。然後下面預設值填寫CURRENT_TIMESTAMP 下面那個根據當前時間戳更新 勾上。yes.搞定

MySQL資料庫)__2018.10.29

1.模糊查詢:SELECT *FROM info WHERE 密碼1 LIKE'%89%'; 資料庫通過SQL語言來管理。 DDL:資料定義語言 DML:資料操作語言 DQL:資料查詢語言 DCL:資料控制語言 整合開發環境:MAMP、MapServer。 通過寫一些SQ

C# NetCore使用AngleSharp爬取周公解夢資料 MySql資料庫的自動建立和頁面資料抓取

這一章詳細講解編碼過程 那麼接下來就是碼程式碼了,GO 新建NetCore WebApi專案 空的就可以    NuGet安裝 Install-Package AngleSharp    或者介面安裝   using。。 預設本地裝有

Java 連線 MySQL 資料庫方法

Java 連線 MySQL 資料庫方法 1、傳統的連線方式 # 動態載入mysql驅動 Class.forName("com.mysql.jdbc.Driver"); 獲取連線

Linux —mysql資料庫

本章內容 關係型資料庫基礎 安裝MySQL 管理資料庫和表 使用者和許可權管理 函式和儲存過程 MySQL架構 儲存引擎 伺服器選項,系統和狀態變數 優化查詢和索引管理 鎖和事務管理 日誌管理 ###必須掌握 備份還原 ###必須掌握

毛毛Python進階之路6——MySQL 資料庫

毛毛Python進階之路6——MySQL 資料庫(一) DBMS 系統:資料庫管理系統。 一、安裝和下載: MySQL有兩種安裝方式,一種可執行檔案(點點點就可以),另一種是壓縮包式,需要有一定的基礎,比如新增環境變數,新增程序等等。 1、新增環境變數:計算機屬性-高階系統

C#呼叫MySQL資料庫方法1(使用MySql.Data.dll連線)

方法1、 1、檢查nuget包管理器是否為最新程式 vs2015使用nuget包管理器安裝失敗,在使用vs2015安裝一些nuget包的時候,出現了an error occurred while retrieving package for "Newtonsoft.Jso

利用log4j將記錄日誌儲存到Mysql資料庫方法及問題

1.首先是要在資料庫中建一張表 CREATE TABLE `log` ( `log_id` int(11) NOT NULL AUTO_INCREMENT, `project_name` var

用PHP的PDO方法操作MySQL資料庫方法(查詢 更新 刪除)

用PHP連線MYSQL資料庫有3種方法: 第一種方法是:MySQL API 大部分擴充套件自 PHP 5.5.0 起已廢棄,並在將來會被移除。應使用 MySQLi或 PDO_MySQL 擴充套件來替換之。 參考: http://www.cnblogs.com/CraryP

Storm讀取Mysql資料庫表寫入Mysql資料庫張表

1、spout: package com.TestStorm; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import j

關於平滑遷移Windows下MySQL資料庫臺電腦到另外臺電腦

目錄 1、使用場景      因為本人最近需要把以前使用的三星膝上型電腦,替換加入固態硬碟和擴充套件了記憶體的ThinkPad電腦,主要原始識公司開始購買的三星本無法擴充套件記憶體條,搞微服務開發,多開幾個服務;記憶體就直接到95%以上了,原來三星

Mysql資料庫設計()

Mysql資料庫設計:一、資料表字段(每張表中最好有一個id,方便檢索)      1、數值(int、float後面一般不加圓括號 )                 int(年齡、成績、積分)              tinyint 有符號 #-127<=數值<

遠端訪問MySQL資料庫方法

grant all privileges on *.* to [email protected]'%' identified by "111111";(3)、允許ip為192.168.1.80 的電腦以賬戶“wml” 密碼 “111111”  訪問本地資料庫且只擁有該資料庫的資料查詢和插入許可權

Java開發程式碼規範之MySQL資料庫)——建表規約

文章通過學習《阿里巴巴Java開發手冊》整理 1。表達是否概念的欄位,必須使用is_xxx的方式命名,資料型別是unsigned tinyint(1表示是,0表示否) 說明:任何欄位如果為非負數,必須是unsigned。 例子:表達邏輯刪除的欄位名

【原創】python3將圖片寫入mysql資料庫

01.環境準備使用的包:pymysqlpymysql下載地址:https://pypi.python.org/pypi/PyMySQL#downloads02.pymysql安裝:03.mysql的blob欄位解釋:BLOB型別的欄位用於儲存二進位制資料MySQL中,BLOB

基礎篇--jdbc連線mysql資料庫套增刪改查

JDBC筆記 1.新建專案(java)JDBCDome 2.新建包(lib)         匯入兩個JAR             (1)連線資料庫             (2)測試的[email protected] 3.新建一個包jdbc.poj