大数据学习之spark

首先安装scala
  scala-2.11.7下载
 
  下载之后解压
    tar -zxvf scala-2.11.7.tgz
 
  解压之后删除源文件
    rm -rf scala-2.11.7.tgz
 
  配置环境
    在此需要打开/etc/profile文件进行配置
 
    vi /etc/profile
 
    在文件的最后插入
 
    export SCALA_HOME=/data/bigdata/scala-2.11.7
 
    export PATH=$PATH:$SCALA_HOME/bin
 
 
  插入了之后要使得命令生效,需要的是:
 
    source /etc/profile
 
  检测是否安装成功
    scala -version
 
  同步到其他机器 scp 可以参考https://www.cnblogs.com/lihuanghao/p/9338040.html
 
安装spark
  
  下载解压缩:tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz
  重命名:mv spark-2.2.0-bin-hadoop2.7 spark-2.2.0
  cd spark-2.2.0
  此处需要配置的文件为两个 
  spark-env.sh和slaves
 
  cp conf/spark-env.sh.template conf/spark-env.sh
  在最尾巴加入
 
    export JAVA_HOME=/data/bigdata/jdk1.8.0_172
 
    export SCALA_HOME=/data/bigdata/scala-2.11.7
 
    export HADOOP_HOME=/data/bigdata/hadoop-2.7.6
 
    export HADOOP_CONF_DIR=/data/bigdata/hadoop-2.7.6/etc/hadoop
 
    export SPARK_MASTER_IP=SparkMaster
 
    export SPARK_WORKER_MEMORY=1g
 
    export SPARK_WORKER_CORES=2
 
    export SPARK_WORKER_INSTANCES=1
 
              export SPARK_LOCAL_IP=127.0.0.1
   说明:
    - JAVA_HOME:Java安装目录 
    - SCALA_HOME:Scala安装目录 
    - HADOOP_HOME:hadoop安装目录 
    - HADOOP_CONF_DIR:hadoop集群的配置文件的目录 
    - SPARK_MASTER_IP:spark集群的Master节点的ip地址 
    - SPARK_WORKER_MEMORY:每个worker节点能够最大分配给exectors的内存大小 
    - SPARK_WORKER_CORES:每个worker节点所占有的CPU核数目 
    - SPARK_WORKER_INSTANCES:每台机器上开启的worker节点的数目
 
  修改slaves
    vi conf/slaves
      node2
      node3
    附:(spark & hive 整合)
  *修改hive-site.xml
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://node1:9083</value>

        <description>....</description>
    </property>

  保存退出后  将hive-site.xml 复制到spark/conf下面

  *链接数据库将hive下的mysql-connect放入spark jars下面

  下面示例会用到

 
  将spark同步到各机器
    scp -r /data/bigdata/ .... 
  启动
     ./sbin/start-all.sh
 
web页面: 
SparkMaster_IP:8080
SparkMaster_IP:4040
 
附:
python环境配置
  
  export PYTHONPATH=/data/bigdata/spark-2.2.0/python:/data/bigdata/spark-2.2.0/python/build:/data/bigdata/spark-2.2.0/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH
 
python 调用
vi a.py
from pyspark import SparkConf,SparkContext
from pyspark.sql import HiveContext
 
conf = SparkConf().setAppName("spark_sql_py")
sc = SparkContext(conf=conf)
hc = HiveContext(sc)

data = hc.sql("select substring_index(path,'?',1) as path,count(*) as num from dbjs_log group by path order by num desc").write.jdbc(url="jdbc:mysql://mysql:3
306/test?useSSL=false",table="he_result",mode="append",properties={"user":"sqoop","password":"sqoop"});

 

vi b.py

from pyspark import SparkConf,SparkContext
from pyspark.sql import HiveContext

conf = SparkConf().setAppName("spark_sql_py")
sc = SparkContext(conf=conf)
hc = HiveContext(sc)
data = hc.read.format("jdbc").option("url","jdbc:mysql://mysql:3306/health").option("drive","com.mysql.jdbc.Driver").option("dbtable","he_count").option("user
","sqoop").option("password","sqoop").load()
data.registerTempTable("he_count1")
hc.sql("select ctype,count(*) as num from he_count1 group by ctype order by num desc").write.jdbc(url="jdbc:mysql://mysql:3306/test?useSSL=false",table="he_re
sult",mode="append",properties={"user":"sqoop","password":"sqoop"});

转载于:https://www.cnblogs.com/lihuanghao/p/9338257.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值