淘先锋技术网

首页 1 2 3 4 5 6 7

虚拟机环境:centos7

一、Spark SQL 与Hive集成(spark-shell)

1.需要配置的项目

    1)将hive的配置文件hive-site.xml拷贝到spark conf目录,同时添加metastore的url配置。

        执行操作: vi hive-site.xml,添加如下内容:

<property>
    <name>hive.metastore.uris</name>
    <value>thrift://netcloud04:9083</value>          #netcloud04是hive服务端地址不是mysql服务的地址  9083是默认端口
</property>
    2)拷贝hive中的mysql jar包到 spark 的 lib 目录下
cp hive-0.13.1-bin/lib/mysql-connector-java-5.1.27-bin.jar spark-1.6-bin/lib/
    3)检查spark-env.sh 文件中的配置项

         执行操作: vi spark-env.sh,添加如下内容:

         HADOOP_CONF_DIR=/opt/soft/hadoop-2.6.4/etc/hadoop
2.启动服务

    1)检查mysql是否启动

        # 查看状态:service mysqld status

        #启动:service mysqld start

    2)启动hive metastore服务

          bin/hive --service metastore

    3)启动hive

           bin/hive,进入hive命令行

    4)创建本地文件 kfk.txt,内容如下:

         0001 spark
         0002 hive
         0003 hbase
         0004 hadoop
    5)执行 hive语句

hive> show databases;
hive> create database kfk;
hive> create table if not exists test(userid string,username string)ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' STORED AS textfile;
hive> load data local inpath "/opt/kfk.txt" into table test;
    6)启动 spark-shell

        bin/spark-shell,进入spark-shell中,执行操作,返回结果

spark.sql("select * from kfk.test").show
0001 spark
0002 hive
0003 hbase
0004 hadoop


二、Spark SQL 与Hive集成(spark-sql)

    1)启动spark-sql,进入该命令行

        bin/spark-sql

    2)查看数据库

        show databases;

default
kfk
    3)使用数据库,并查询表

# 使用数据库
use kfk
# 查看表
show tables;
# 查看表数据
select * from test;


三、Spark SQL之ThriftServer和beeline使用

    1)启动ThriftServer

        sbin/start-thriftserver.sh

    2)启动beeline    

        bin/beeline !connect jdbc:hive2://node1:10000

        # 查看数据库
        show databases;
        # 查看表数据

        select * from kfk.test;

四、Spark SQL与MySQL集成

    1)启动spark-shell,进入shell命令行

            sbin/spark-shell

    2)spark-shell命令行中输入 :paste 可以输入整段命令

val jdbcDF = spark.read.format("jdbc").option("url", "jdbc:mysql://192.168.0.103:3306/face").option("dbtable", "s_user").option("user", "root").option("password", "root").load()

        jdbcDF.show

五、Spark SQL与HBase集成

    Spark SQL与HBase集成,其核心就是Spark Sql通过hive外部表来获取HBase的表数据。

    1)拷贝HBase的包和hive包到 spark的 lib目录下

    2)启动spark-shell,进入命令行
        bin/spark-shell

        val df =spark.sql("select count(1) from weblogs").show