5.3.2Spark_SQL项目编码(Java)

原创 2018年04月16日 23:52:52

Spark_SQL项目编码(Java)

一、 新建项目maven项目

二、 导入pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.simon.spark</groupId>
    <artifactId>spark-sql-java</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <encoding>UTF-8</encoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>2.1.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-sql_2.11</artifactId>
            <version>2.1.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-streaming_2.11</artifactId>
            <version>2.1.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>2.6.4</version>
        </dependency>
    </dependencies>
    
</project>

三、 新建Java

 

package com.simon.spark;

import org.apache.spark.api.java.JavaRDD;

import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.Function;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.RowFactory;
import org.apache.spark.sql.SparkSession;
import org.apache.spark.sql.types.DataTypes;
import org.apache.spark.sql.types.StructField;
import org.apache.spark.sql.types.StructType;

import java.util.ArrayList;
import java.util.List;


/**
 * Created by Simon on 2017/11/25.
 */
public class SparkSqlJavaFirst {
    public static void main(String[] args) {
        //初始化SparkContext
       /* SparkConf conf = new SparkConf();
        conf.setAppName("SparkSqlJavaFirst").setMaster("local");
         JavaSparkContext sc = new JavaSparkContext(conf);*/

        SparkSession spark = SparkSession.builder().appName("SparkSqlJavaFirst").master("local").getOrCreate();
        JavaSparkContext sc = new JavaSparkContext(spark.sparkContext());

        JavaRDD<String> lines = sc.textFile("F:\\hadoopsourcetest\\sparksqlperson.txt");

        JavaRDD<Row> coms = lines.map(new Function<String,Row>()
        {

            @Override
            public Row call(String line) throws Exception {
                String[] splited = line.split(" ");
                 return RowFactory.create(Integer.parseInt(splited[0]),splited[1].trim(),Integer.parseInt(splited[2]));
            }

        });

        List<StructField> structFieldList = new ArrayList<StructField>();

        structFieldList.add(DataTypes.createStructField("ID", DataTypes.IntegerType,true));
        structFieldList.add(DataTypes.createStructField("NAME", DataTypes.StringType,true));
        structFieldList.add(DataTypes.createStructField("AGE", DataTypes.IntegerType,true));

        //构建表的StructType
        StructType structType = DataTypes.createStructType(structFieldList);
        //将表转换成DataFrame
        Dataset<Row> dataFrame = spark.createDataFrame(coms, structType);
        //创建临时表
        dataFrame.createOrReplaceTempView("person");
        //查询
        Dataset<Row> dataset = spark.sql("select * from person where name like 't%' ");
        dataset.show();

        sc.close();
    }
}

四、 运行

 

五、 修改masterhdfs文件

 

六、 打包上传

 

 

七、 上传

八、 运行

./spark-submit \
--class  com.simon.spark.SparkSqlJavaFirst \
/usr/simonsource/spark-sql-java-1.0-SNAPSHOT.jar

九、 运行结果

 

 


SparkSQL API参考(本文参考):

http://blog.csdn.net/slq1023/article/details/51100777

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Simon_09010817/article/details/79968662

java项目编码问题解决

关于编码大致有以下几个地方需要注意 1.数据库的编码 mysql在创建数据库的时候指定编码CREATE DATABASE ms_db CHARACTER SET utf8 COLLATE...
  • wl4066261
  • wl4066261
  • 2016-11-10 15:49:18
  • 1091

如何将Eclipse中项目编码设置为utf-8

1
  • LeoThink
  • LeoThink
  • 2014-02-17 08:33:22
  • 3582

javaWeb项目编码问题探索

这两天遇到了javaweb项目中乱码的问题,想趁此机会搞搞清楚,顺便把过程记录下来,方便以后查看。 首先新建一个动态javaweb工程,写两个jsp,index.jsp和a.jsp,如下图 启...
  • baokx
  • baokx
  • 2016-01-15 23:56:34
  • 943

Maven项目字符编码及Java编译器版本配置

//字符编码设置 UTF-8 UTF-8
  • xu_joy
  • xu_joy
  • 2017-01-12 20:13:57
  • 1268

Java项目乱码及设置Tomcat的UTF-8编码

利用request.setCharacterEncoding("UTF-8");来设置Tomcat接收请求的编码格式,只对POST方式提交的数据有效,对GET方式提交的数据无效! 要设置GET的编...
  • qq_35038153
  • qq_35038153
  • 2017-09-14 22:37:40
  • 170

更改java web项目编码的过程记录

最近在java web项目开发过程中遇到了很多非常让人头痛的问题。其中一个就是项目编码更换问题。此篇文章记录了整个项目编码码更换的过程。 本来在项目使用的UTF-8编码,一切是如此的完美,但由于种种...
  • Lbeta
  • Lbeta
  • 2012-04-06 14:31:17
  • 1515

IntelliJ IDEA 2016.1.2(64)项目和模块的编码设置

这几天再从eclipse转向IDEA 编码问题是两家的共性在属性eclipse编码后在IDEA中不知所措下面是目前最新的IDEA编码设置看看他的编码设置有什么好处 我现在有个tank Java se项...
  • hanghangde
  • hanghangde
  • 2016-07-28 10:25:25
  • 6621

javaweb项目统一设置utf-8编码

1.配置web.xml 添加UTF-8 filter 2.配置页面文件 3.配置eclipse工程默认编码 4.配置struts.properties 5.配置tomcat   这个一步是最容易...
  • u011439012
  • u011439012
  • 2013-09-11 08:54:20
  • 2634

java项目启动之编码问题

描述:开发环境为myEclipse,编码格式为utf-8.各种网络流读取格式无误.但是当改为bat文件启动后,流的读取出现了乱码问题,以明确知道获取对象的格式为utf-8. 然后分析为项目启动后的编...
  • name_liweibin
  • name_liweibin
  • 2013-12-03 23:00:07
  • 1072

修改Java系统默认编码

修改Java系统默认编码 文章分类:Java编程 通过以下代码可以修改动态当前正在运行的java系统默认编码格式: Java代码 System.out.println(Charset....
  • lwm_1985
  • lwm_1985
  • 2012-05-15 18:40:25
  • 4549
收藏助手
不良信息举报
您举报文章:5.3.2Spark_SQL项目编码(Java)
举报原因:
原因补充:

(最多只允许输入30个字)