美文网首页程序员
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