栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

SparkDataFrame操作TiDB数据

SparkDataFrame操作TiDB数据

文章目录

前言TiDB单机搭建sparkDataframe连接TiDB

前言

前几天领导让用spark集成TiDB支持读写,没办法只能简单的了解一下TiDB,然后搭建了一个单机版的TiDB测试使用,这里也理解的比较浅显,毕竟时间紧任务重,一切以完成任务为目的。。。

这里也附上几个我开发时用到的一些连接:
安装参考视频,安装参考博客,代码参考地址,中文文档地址

开发所需pom依赖


 	mysql
    mysql-connector-java
    5.1.38
    jar


//以下这个依赖删除也没出毛病,毕竟spark连接TiDB使用的是mysql驱动

TiDB单机搭建

由于是测试使用,所以搭建怎么简单怎么来的,没进行太多的额外功能修改

1.安装
	1.1获取压缩包
	wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz
	1.2解压
	tar -xzf tidb-latest-linux-amd64.tar.gz -C /自定义目录
	1.3启动PD(放入后台启动)
	./bin/pd-server --data-dir=pd --log-file=pd.log &    
	1.4启动TiKV(放入后台启动)
	./bin/tikv-server  --pd="127.0.0.1:2379"  --data-dir=tikv  --log-file=tikv.log &
	1.5启动TiDB(放入后台启动)
	./bin/tidb-server  --store=tikv  --path="127.0.0.1:2379"  --log-file=tidb.log &

2.连接(使用mysql连接TiDB)
mysql -h127.0.0.1 -P4000 -uroot

3.使用Navicat连接TiDB(记得没错的话,密码为空)
sparkDataframe连接TiDB
val conf = new SparkConf().setAppName("test").setMaster("local[4]")
val spark = SparkSession.builder().config(conf).getOrCreate()

//读数据
val df= spark.read.format("jdbc")
      .option("url", "jdbc:mysql://127.0.0.1/dbname")
      .option("driver", "com.mysql.jdbc.Driver")
      .option("dbtable", "tc_table")
      .option("user", "root")
      .option("password","password")
      .load()
df.show()

//写数据
//模拟Dataframe数据
val df = spark.createDataframe(Seq(
     ("ming", 20, 15552211521L),
     ("hong", 19, 13287994007L),
     ("zhi", 21, 15552211523L)
   )).toDF("name", "age", "phone")
   
val properties = new Properties()
properties.put("user", "root")
properties.put("password", "password")
properties.put("driver","com.mysql.jdbc.Driver")
properties.put("isolationLevel","NONE")  //如果这里事务不设置NONE,会报错
//写入TiDB数据库的tc_table表中
df.write.mode(SaveMode.Append).jdbc("jdbc:mysql://127.0.0.1/dbname","tc_table",properties)

直到现在对于TiDB的了解也是比较浅,毕竟只是为了应付开发去了解的,所以具体的学习可以去参考上面的官方文档链接

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774375.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号