Ssh框架与大数据平台(Spark)集成 读取mysql关系型数据库关键技术说明

Ssh框架与大数据平台(Spark)集成

读取mysql关系型数据库关键技术说明

 

1、  所需要框架组件及版本要求

ü  spark-1.6.2-bin-hadoop2.6.tgz

ü  jdk-1.7(1.8)-windows-x64.exe

ü  mysql-installer-community-5.6.32.0.msi

2、  将spark1.6.2解压至硬盘,并在操作系统环境变量中配置其路径

3、  基于Maven的SSH项目POM.xml配置

org.apache.spark

spark-core_2.11

1.6.0

org.apache.spark

spark-mllib_2.11

1.6.0

   org.apache.spark

   spark-sql_2.11

    1.6.0

org.scala-lang

scala-library

2.11.0

org.scala-lang

scala-compiler

2.11.0

org.scala-lang

scala-reflect

2.11.0

4、  基于Maven的SSH项目spring(application).xml配置

          

          

                    

          

          

5、  SSH项目添加spark的jar包依赖

将spark解压目录下LIB子目录中的spark-assembly-1.6.0-hadoop2.6.0.jar添加至工程项目,后期需要逐一排除不需要的jar包,达到全部以maven配置的方式实现

6、  调用示例

packagecom.ssmm.service;

importjava.util.Properties;

importjavax.annotation.Resource;

importorg.apache.log4j.Logger;

importorg.apache.spark.api.java.JavaRDD;

importorg.apache.spark.sql.DataFrame;

import org.apache.spark.sql.SQLContext;

importorg.springframework.beans.factory.annotation.Value;

importorg.springframework.stereotype.Service;

 

//@Scope("prototype")

@Service

publicclass SparkUpper {

private Logger logger =Logger.getLogger(SparkUpper.class);

@Value("${spark.master}")

private String master;

@Resource

private SQLContext sqlContext;

 

public String upper(String inputFilee) {

           JavaRDD jdbcDF = null;

           DataFrame DF = null;

//以下数据库连接内容请使用实际配置地址代替

           String url ="jdbc:mysql://192.168.8.62:3306/test1?useUnicode=true&characterEncoding=UTF-8";

           String table = "book";

           Properties connectionProperties = newProperties();

           connectionProperties.setProperty("dbtable",table);

connectionProperties.setProperty("user","admin");//数据库用户connectionProperties.setProperty("password","admin"); //数据库用户密码

           DF = sqlContext.read().jdbc(url,table, connectionProperties);

           DF.registerTempTable("testtable");

           return sqlContext.sql("select *from testtable").javaRDD().collect().toString();

}

}

你可能感兴趣的:(大数据)