本篇內(nèi)容主要講解“eclipse開發(fā)spark的詳細(xì)過(guò)程”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“eclipse開發(fā)spark的詳細(xì)過(guò)程”吧!
成都創(chuàng)新互聯(lián)公司專注于臨桂網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供臨桂營(yíng)銷型網(wǎng)站建設(shè),臨桂網(wǎng)站制作、臨桂網(wǎng)頁(yè)設(shè)計(jì)、臨桂網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造臨桂網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供臨桂網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
一、搭建環(huán)境
eclispe安裝scala-ide插件
二、讀取es和MySQL
首先添加pom:
4.0.0 test test 0.0.1-SNAPSHOT spark 2.11.8 2.2.0 2.11 18.0 junit junit 3.8.1 test org.apache.spark spark-core_${spark.artifactId.version} ${spark.version} org.apache.spark spark-sql_${spark.artifactId.version} ${spark.version} org.scala-lang scala-compiler ${scala.version} provided com.alibaba fastjson 1.2.29 org.elasticsearch elasticsearch-spark-20_${spark.artifactId.version} 6.2.0 compile log4j-over-slf4j org.slf4j mysql mysql-connector-java 5.1.6 org.scala-lang scala-library ${scala.version} org.slf4j slf4j-api 1.6.4 org.slf4j slf4j-log4j12 1.7.25 org.apache.maven.plugins maven-compiler-plugin 3.6.1 1.8 net.alchim31.maven scala-maven-plugin 3.2.2 org.apache.maven.plugins maven-jar-plugin 3.0.2 true lib/ spark.example.Main org.apache.maven.plugins maven-dependency-plugin 3.0.0 package copy-dependencies ${project.build.directory}/lib
然后寫主函數(shù):
package test import org.apache.spark.sql.SparkSession import org.apache.spark.sql.Row import org.apache.spark.sql.Dataset import java.util.Properties object querySql { def main(args: Array[String]): Unit = { // 讀取mysql數(shù)據(jù): val spark = SparkSession.builder().appName("Java Spark MYSQL basic example") .master("local") .config("es.nodes", "127.0.0.1") .config("es.port", "9200") .config("es.mapping.date.rich", "false") //不解析日期類型 .getOrCreate() val url = "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8" val table = "sys_user"; val props = new Properties() props.setProperty("dbtable", table) // 設(shè)置表 props.setProperty("user", "root") // 設(shè)置用戶名 props.setProperty("password", "123456") // 設(shè)置密碼 // val df = spark.read.jdbc(url, table, props) // df.show() //添加篩選條件 // val filter = df.filter(col("TABLE_ID").gt("10")); // System.out.println("mysql count:" + filter.count()); val esRows = spark.read.format("org.elasticsearch.spark.sql").load("visitlog/_doc") // esRows.show() esRows.createOrReplaceGlobalTempView("table1"); // val subDf = spark.sql("SELECT userId,ip,createTime,createTime2 FROM global_temp.table1") val subDf = spark.sql("SELECT userId,count(userId) FROM global_temp.table1 group by userId") subDf.show(); spark.close(); } }
三、打包執(zhí)行
打包命令:mvn clean scala:compile package
執(zhí)行命令:java -Djava.ext.dirs=lib -cp test-0.0.1-SNAPSHOT.jar test.querySql
到此,相信大家對(duì)“eclipse開發(fā)spark的詳細(xì)過(guò)程”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!