美文网首页程序员
macOS下Spark SQL与Hive MySQL集成

macOS下Spark SQL与Hive MySQL集成

作者: JavaEdge | 来源:发表于2019-04-22 20:50 被阅读14次

1 Spark SQL 与Hive集成(spark-shell)

Spark SQL is Apache Spark's module
for working with structured data.

  • 使用Spark SQL访问Hive需要将$HIVE_HOME/conf下的hive-site.xml拷贝到$SPARK_HOME/conf

  • 如果集群没有安装hive那么就在$SPARK_HOME/conf下创建一个hive-site.xml,再配置一下可以访问metadata即可

同时添加metastore的url配置

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


拷贝hive中的mysql-connector-java-5.1.27-bin.jar包到 spark 的 jars目录下

2 启动服务

2.1 检查MySQL是否启动

2.2 启动hive metastore服务

bin/hive --service metastore

2.3 启动Hive

hive

进入hive命令行

2.4 创建本地文件 javaedge.txt

2.5 执行 Hive 语句


2.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://node1:3306/test")
.option("dbtable", "spark1")
.option("user", "root")
.option("password", 1234)
.load()
输入 ctr+d退出整段输入,打印读取数据

    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

相关文章

网友评论

    本文标题:macOS下Spark SQL与Hive MySQL集成

    本文链接:https://www.haomeiwen.com/subject/hgtpgqtx.html