//TODO 读取mysql的第一种方式
//TODO 读取表名 以子查询的方式读取数据
//TODO 查看分区 该方式只会生成一个分区,只适用于表数据量较小的情况
SparkSession spark = SparkSession.builder ().master ("local[4]").appName ("ReadMysql").getOrCreate ();
String url = "jdbc:mysql://hadoop102:3306/test";
Properties props = new Properties ();
props.setProperty ("user", "root");
props.setProperty ("password", "123123");
String tablename = "(select * from user_info where id >= 10 ) user";
/*
url:mysqlurl地址
tablename:读取的表
props:mysql的配置参数
*/
Dataset<Row> ds = spark.read ().jdbc (url, tablename, props);
System.out.println (ds.toJavaRDD ().getNumPartitions ());
//TODO 读取mysql的第二种方式【不常用】
//TODO 此种方式读取mysql生成的dataset的分区数 = conditions数组的长度
//TODO conditions数组中的每个元素代表每个分区拉取数据的wher