Spark 学习笔记——001【spark-mysql+spark-hive】

在本地提交 spark-submit

spark-sql 窗口的进入
 ./spark-sql --master local[4]  --jars /home/hadoop/software/mysql-connector-java-5.1.27-bin.jar \
 --driver-class-path  /home/hadoop/software/mysql-connector-java-5.1.27-bin.jar
spark 提交任务
./bin/spark-submit \
  --class test001 \
  --master local \
  /home/hadoop/jars/com.xx.bigdata-2.0.jar  \
  /home/hadoop/data/84-0.txt /home/hadoop/data/result
  
spark 入门案例的
import org.apache.spark.{SparkConf, SparkContext}

/**
  * Created by laiji on 2021/12/5.
  */
object test001 {

  def main(args: Array[String]): Unit = {
    //导入隐饰操作,否则RDD无法调用toDF方法

    val outpu_path=args(1)
    val input_path=args(0)

//      args(0)
    val conf = new SparkConf().setAppName(this.getClass.getSimpleName).setMaster("local[4]")

    val sc = new SparkContext(conf)

    val data = sc.textFile(input_path)

    val result = data.flatMap(_.split(" ")).map(x=>(x,1)).reduceByKey(_+_).sortBy(x=>x._2,false)

    result.saveAsTextFile(outpu_path)

    sc.stop()
  }
}

spark 读写mysql

##maven  加载对应的依赖
        <dependency>
            <groupId>com.typesafe</groupId>
            <artifactId>config</artifactId>
            <version>1.3.3</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
读写mysql
import org.apache.spark.sql.{SaveMode, SparkSession}
import java.util.Properties
/**
  * Created by laiji on 2021/12/8.
  */
object session_source_jdbc {
  def main(args: Array[String]): Unit = {

    val session = SparkSession.builder().master("local[4]").appName("read_jdbc").getOrCreate()
    import session.implicits._

    val url="jdbc:mysql://192.168.2.123:3306/hadoop_hive?useUnicode=true&characterEncoding=UTF-8"
    val table="TBLS"
    val reader = session.read.format("jdbc").
      option("url", url).
      option("dbtable", table).
      option("driver", "com.mysql.jdbc.Driver").
      option("user", "root").
      option("password", "root")
    val frame = reader.load()
    
    frame.createOrReplaceTempView("temp1")

    val frame1 = session.sql("select TBL_ID,CREATE_TIME,OWNER  from temp1 where SD_ID<=8")

    frame1.show()
    val url_local=" jdbc:mysql://localhost:3306/mysql001?useUnicode=true&characterEncoding=UTF-8"
    val prop = new Properties()
    prop.setProperty("user", "root")
    prop.setProperty("password", "123456")
    print("mysql 链接成功")

//    frame1.write.mode(saveMode ="append").jdbc(url_local,"spark2myql",prop)

    print("-----")
    session.stop()

  }

  case class person(name:String,age:Int)
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值