数据
{ "data": [{ "账号信息": "【等级73 1-10级 无QQ好友】便宜出 ", "售价": "¥ 140.00", "热度": 112, "发布时间": "2022-04-23 14:01:36.766", "标题": "穿越火线CF\/电信区\/湖南电信一区", "图片数量": "2图" }]
}
处理结果 (写入到MySQL 要注意 def 这个方法卸载 def main 的下面 object 的里面)
/**
* @author jiasongfan
* @date 2022/7/8
* @apiNote
*/
import com.alibaba.fastjson.{JSON, JSONArray}
import org.apache.flink.streaming.api.scala._
import org.apache.flink.streaming.api.windowing.time.Time
import java.sql.{Connection, DriverManager, PreparedStatement}
import scala.beans.BeanProperty
import scala.io.Source
object Test01 {
def main(args: Array[String]): Unit = {
// val env = StreamExecutionEnvironment.getExecutionEnvironment
// env.setParallelism(1)
val strings: Iterator[String] = Source.fromFile("D:\\E\\month9class\\day7-8-1\\flink_test\\data\\data.txt").getLines()
var str=""
for (elem <- strings) {
str+=elem
}
val data1: data = JSON.parseObject(str, classOf[data])
val list: List[sj] = data1.getData.toList
for (elem <- list) {
// println(elem)
saveToMysql(elem)
}
}
def saveToMysql(elem:sj):Unit={
Class.forName("com.mysql.jdbc.Driver")
val conn: Connection = DriverManager.getConnection("jdbc:mysql://hdp1:3306/1912b?characterEncoding=utf8", "root", "root")
val ps: PreparedStatement = conn.prepareStatement("insert into t_bb values (?,?,?,?,?,?)")
ps.setString(1,elem.账号信息)
ps.setString(2,elem.售价)
ps.setString(3,elem.热度)
ps.setString(4,elem.发布时间)
ps.setString(5,elem.标题)
ps.setString(6,elem.图片数量)
ps.executeUpdate()
ps.close()
conn.close()
}
}
case class data(@BeanProperty data:Array[sj])
case class sj(@BeanProperty 账号信息:String,@BeanProperty 售价:String,@BeanProperty 热度:String,
@BeanProperty 发布时间:String,@BeanProperty 标题:String,@BeanProperty 图片数量:String)
如果出现表情 的解决办法
进入mysql
输入 mysql -uroot -proot
show variables like 'charact%';
需要修改12356
使用set = utf8mb4
jdbc:mysql://hdp1:3306/1912b?characterEncoding=utf8
&connectionCollation=utf8mb4_general_ci
两者之间无空格
mysql> set character_set_connection =utf8mb4
-> ;
mysql> set character_set_database =utf8mb4
-> ;
mysql> set character_set_results =utf8mb4;
mysql> set character_set_server =utf8mb4;
mysql> set character_set_system =utf8mb4;
终极办法 trycatch
// try { // saveToMysql(elem) // } catch { // case a: Exception=>print(a) // }