zoukankan      html  css  js  c++  java
  • 开源Astro(SparkSQL On HBase)

           华为2015年7月20日在O'Reilly Open Source Convention (OSCON) 上宣布Spark SQL on HBase package正式开源。Spark SQL on HBase package 项目又名 Astro,端到端整合了 Spark,Spark SQL和HBase的能力,有助于推动帮助Spark进入NoSQL的广泛客户群,并提供强大的在线查询和分析以及在垂直企业大规模数据处理能力。 Astro的新特性使得数据修改,智能扫描系统具有强大的可操作性类似于自定义过滤器和协处理器下推式,并让更多的传统RDBS能力可用,其查询优化算法适用于一般组织的数据集,并可以通过分布式SQL引擎进行查询。为了充分利用Spark最新的功能,包括Dataframe和外部数据源API ,华为全球团队一直持续更新项目代码并符合最新发布的Spark1.4版本。此项目吸引了众多社区贡献者参与到开发和验证中来。此外,华为团队还对Spark SQL,机器学习和Spark R贡献了很多新特性,丰富了Spark的标准库。

         转载参考http://lxw1234.com/archives/2015/07/430.htm 的文章,mark一下,下一步学习研究的参考。  Astro是继Phoenix后,SQL On HBase的又一利器。至于实际用起来怎么样,有待验证。

         开源项目地址:https://github.com/Huawei-Spark/Spark-SQL-on-HBase

    •  下载源码,解压
    • cd Spark-SQL-on-HBase-master/
    • 使用命令 mvn -DskipTests clean install 编译
    • 运行需要Spark1.4.0和HBase0.98

    HBase相关配置


    • 每台HBase节点上配置,包括客户端,编辑hbase-site.xml
      • <property>
        <name>hbase.coprocessor.user.region.classes</name>
        <value>org.apache.spark.sql.hbase.CheckDirEndPointImpl</value>
        </property>

    • 将spark-sql-on-hbase的jar包添加到hbase的环境变量重启HBase集群
      • cp spark-sql-on-hbase-1.0.0.jar $HBASE_HOME/lib
        vi hbase-env.sh
        export HBASE_CLASSPATH=$HBASE_HOME/lib/spark-sql-on-hbase-1.0.0.jar:$HBASE_CLASSPATH

    Spark相关配置


    • 每台Spark节点上配置,包括客户端拷贝hbase-site.xml到$SPARK_HOME/conf目录
      • cp spark-sql-on-hbase-1.0.0.jar $SPARK_HOME/lib/
        vi spark-env.sh
        export SPARK_CLASSPATH=$SPARK_HOME/lib/spark-sql-on-hbase-1.0.0.jar:${SPARK_CLASSPATH}

    • spark-default中配置参数:
    1. spark.sql.hbase.scanner.fetchsize 5000   ##该参数用于设置hbase中扫描器缓存
    2. spark.master spark://nn.uniclick.cloud:7077
    3. spark.executor.memory 2g
    4. spark.executor.cores 8
    • 重启Spark集群

    使用hbase-sql


    • 进入 Spark-SQL-on-HBase-master/bin/ 目录,运行 ./hbase-sql 进入hbase-sql命令行
    • hbase-sql默认读取 $SPARK_HOME/conf/spark-defaults.conf 中关于Spark的配置参数
    • 先在HBase中建表:
    • 在hbase-sql中使用如下语句建表:
    1. PRIMARY KEY指定HBase RowKey对应哪个字段
    2. MAPPED BY指定HBase表名,以及其他字段和HBase列的对应;
    3. 在hbase-sql中可以使用show tables;命令查看有哪些表
  • 相关阅读:
    ubuntu下mysql的安装
    useradd和adduser的区别
    C和指针之学习笔记(6)
    C和指针之学习笔记(5)
    C和指针之学习笔记(4)
    Centos 7搭建Gitlab服务器超详细
    .NET Core sdk和runtime区别
    .NET平台历程介绍
    GitLabCICD
    Jenkins+gitlab+msbuild
  • 原文地址:https://www.cnblogs.com/tgzhu/p/7482862.html
Copyright © 2011-2022 走看看