Spark-12

1.spark SQL统计查询
-----------------------
    thriftSerer2,让sparkSQL作为分布式查询引擎。
    通知jdbc协议直接访问。

    cluster集群部署模式
        local
        standalone        //独立,master worker
        yarn            //yarn-client | yarn-cluster
        mesos

    app应用部署模式
        driver程序的地点。
        client
        cluster            //worker节点上运行。

    1.启动spark下的thriftserver2服务器
        $>start-thriftserver.sh --master spark://s201:7077

    2.web程序通过hive-jdbc驱动程序进行集成
        引入pom.xml
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-jdbc</artifactId>
            <version>2.1.0</version>
        </dependency>
    3.编程
        Class.forName("org.apache.hive.jdbc.HiveDriver");
        Connection conn = DriverManager.getConnection("jdbc:hive2://s201:10000");
        String sql = "select count(*) ,substr(calltime,1,6) from mydb.ext_calllogs_in_hbase " +
                "where caller = '" + caller + "' and substr(calltime,1,4) == '" + year
                + "' group by substr(calltime,1,6) order by substr(calltime,1,6) desc";
        Statement st = conn.createStatement();
        ResultSet rs = st.executeQuery(sql);

        List<CallLogStat> list = new ArrayList<CallLogStat>();
        while (rs.next()) {
            long count = rs.getLong(1);
            String ym = rs.getString(2);
            list.add(new CallLogStat(ym, (int)count));
        }
        rs.close();
        st.close();
        conn.close();
        return list ;

    4.

2.java版本实现
    spark实现某团购网的app端标签生成程序.

3.hbase bulk load
    wal:写前日志。
    关闭缓冲区的自动清理。
    put:buffer,flush.
    HFile : TableOutputFormat,MR作业生成hfile文件。

    //导出file文件
    A --> B

    A --> TSV
    TSV --> B


    //导出hbase表文件到hdfs
    1.复制hbase的jar文件和metrices-core-xxx.jar文件到hadoop类路径下.
        $>cd /soft/hbase/lib
        $>ls | grep hbase | cp `xargs` /soft/hadoop/shared/hadoop/common/lib
        $>ls | grep metric-core | cp `xargs` /soft/hadoop/shared/hadoop/common/lib

    2.执行hbase-server-VERSION.jar下的MR程序,导出hbase的数据到hdfs中。
        $>hadoop jar hbase-server-VERSION.jar export ns1:calllogs outtt

大批量导入hbase hfile文件到hbase的表中。
--------------------------------------------
    [原理]
        通过hbase提供的MR程序(改程序位于hbase-server-VERSION.jar中),将从其他hbase集群中的表复制出来的目录结构
        上传到自己的hdfs上,并将该目录指定为mr程序的输入目录,直接导入到自己的hbase表中。
        
    [过程]
        1.复制hbase在hdfs上的表一级目录到自己的hdfs文件系统。
        2.通过hbase的completebulkload命令实现数据加载。
            hadoop jar hbase-server-1.2.3.jar completebulkload  /hbase/data/ns1/mytable000 ns1:calllogs

    

/hbase/data/ns1/calllogs/90223e6dd3a339af6f802527d5cecb7b

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值