• spark-3.1.1-bin-hadoop2.7安装配置


    下载

     wget https://mirrors.bfsu.edu.cn/apache/spark/spark-3.1.1/spark-3.1.1-bin-hadoop2.7.tgz

    解压

    tar -vxf spark-3.1.1-bin-hadoop2.7.tgz -C /opt/module/

    配置文件改名

    cp spark-env.sh.template spark-env.sh

    cp workers.template workers

    修改配置表

    [datalink@slave3 conf]$ vim spark-env.sh

    export JAVA_HOME=/usr/java/jdk1.8.0_131
    export HADOOP_HOME=/opt/module/hadoop-3.1.4
    export SCALA_HOME=/opt/module/scala-2.12.13
    export HADOOP_CONF_DIR=/opt/module/hadoop-3.1.4/etc/hadoop
    export SPARK_MASTER_HOST=slave2
    export SPARK_EXECUTOR_MEMORY=1G
    export SPARK_WORKER_CORES=2
    export SPARK_WORKER_INSTANCES=1
    export SPARK_WORKER_PORT=7078
    export SPARK_MASTER_PORT=7077

    [datalink@slave3 conf]$ vim workers

    slave1
    slave3
    slave4

    修改启动脚本名称

    [datalink@slave3 sbin]$ cp start-all.sh start-spark-all.sh 

    [datalink@slave3 sbin]$ cp stop-all.sh stop-spark-all.sh 

    分发到其他服务器

    scp -r spark-3.1.1-bin-hadoop2.7/ datalink@slave2:/opt/module/
    scp -r spark-3.1.1-bin-hadoop2.7/ datalink@slave1:/opt/module/
    scp -r spark-3.1.1-bin-hadoop2.7/ datalink@slave2:/opt/module/
    scp -r spark-3.1.1-bin-hadoop2.7/ datalink@slave4:/opt/module/

    启动

    [datalink@slave2 sbin]$ ./start-spark-all.sh
    starting org.apache.spark.deploy.master.Master, logging to /opt/module/spark-3.1.1-bin-hadoop2.7/logs/spark-datalink-org.apache.spark.deploy.master.Master-1-slave2.out
    slave4: starting org.apache.spark.deploy.worker.Worker, logging to /opt/module/spark-3.1.1-bin-hadoop2.7/logs/spark-datalink-org.apache.spark.deploy.worker.Worker-1-slave4.out
    slave3: starting org.apache.spark.deploy.worker.Worker, logging to /opt/module/spark-3.1.1-bin-hadoop2.7/logs/spark-datalink-org.apache.spark.deploy.worker.Worker-1-slave3.out
    slave1: starting org.apache.spark.deploy.worker.Worker, logging to /opt/module/spark-3.1.1-bin-hadoop2.7/logs/spark-datalink-org.apache.spark.deploy.worker.Worker-1-slave1.out
    [datalink@slave2 sbin]$

     sparksql整合hive

       Spark SQL主要目的是使得用户可以在Spark上使用SQL,其数据源既可以是RDD,也可以是外部的数据源(比如文本、Hive、Json等)。Spark SQL的其中一个分支就是Spark on Hive,也就是使用Hive中HQL的解析、逻辑执行计划翻译、执行计划优化等逻辑,可以近似认为仅将物理执行计划从MR作业替换成了Spark作业。SparkSql整合hive就是获取hive表中的元数据信息,然后通过SparkSql来操作数据。

    将hive-site.xml文件拷贝到Spark的conf目录下,这样就可以通过这个配置文件找到Hive的元数据以及数据存放位置。

    [datalink@slave3 conf]$ cp hive-site.xml /opt/module/spark-3.1.1-bin-hadoop2.7/conf/

    如果Hive的元数据存放在Mysql中,我们还需要准备好Mysql相关驱动

    [datalink@slave3 module]$ cp mysql-connector-java-8.0.23.jar /opt/module/spark-3.1.1-bin-hadoop2.7/jars/

    测试sparksql整合hive是否成功

     [datalink@slave2 bin]$ ./spark-sql  --master spark://slave2:7077  --executor-memory 1g  --total-executor-cores 4

    .....................

    spark-sql (default)> show databases;
    namespace
    default
    testdb
    zqgamedb
    Time taken: 3.768 seconds, Fetched 3 row(s)

    sparksql与hive 对比,差距明显:

    spark-sql (default)> select count(1) from fact_login;
    count(1)
    8529410
    Time taken: 1.798 seconds, Fetched 1 row(s)

    hive (zqgamedb)> select count(1) from fact_login;

    ...........................

    8529410
    Time taken: 46.151 seconds, Fetched: 1 row(s)

  • 相关阅读:
    杰我教育-新老学员交流会
    来杰我学IT,好就业
    怎么创建maven项目
    项目开发生命周期
    2015年12月28日,我工作了
    SSH架构图及各部分知识点
    jsp基础大全
    网站创建过程(二)
    网站创建过程(一)
    python+Django+mysql环境搭建
  • 原文地址:https://www.cnblogs.com/playforever/p/14708915.html
Copyright © 2020-2023  润新知