首页 > 其他分享 >9.9日记

9.9日记

时间:2023-09-09 17:45:58浏览次数:31  
标签:String tableName System 9.9 import new 日记 out

今天写了Java链接HBASE的具体代码,但是包的导入花费了时间,代码编译也有错误

import java.io.IOException;       
import java.util.ArrayList;       
import java.util.List;       
        
import org.apache.hadoop.conf.Configuration;       
import org.apache.hadoop.hbase.HBaseConfiguration;       
import org.apache.hadoop.hbase.HColumnDescriptor;       
import org.apache.hadoop.hbase.HTableDescriptor;       
import org.apache.hadoop.hbase.KeyValue;       
import org.apache.hadoop.hbase.MasterNotRunningException;       
import org.apache.hadoop.hbase.ZooKeeperConnectionException;       
import org.apache.hadoop.hbase.client.Delete;       
import org.apache.hadoop.hbase.client.Get;       
import org.apache.hadoop.hbase.client.HBaseAdmin;       
import org.apache.hadoop.hbase.client.HTable;       
import org.apache.hadoop.hbase.client.Result;       
import org.apache.hadoop.hbase.client.ResultScanner;       
import org.apache.hadoop.hbase.client.Scan;       
import org.apache.hadoop.hbase.client.Put;       
import org.apache.hadoop.hbase.util.Bytes;       
        
public class HbaseTest {         
           
    private static Configuration conf =null;    
     /**  
      * 初始化配置  
     */    
     static {    
         conf = HBaseConfiguration.create();    
     }    
         
    /**    
     * 创建一张表    
     */      
    public static void creatTable(String tableName, String[] familys) throws Exception {       
        HBaseAdmin admin = new HBaseAdmin(conf);       
        if (admin.tableExists(tableName)) {       
            System.out.println("table already exists!");       
        } else {       
            HTableDescriptor tableDesc = new HTableDescriptor(tableName);       
            for(int i=0; i<familys.length; i++){       
                tableDesc.addFamily(new HColumnDescriptor(familys[i]));       
            }       
            admin.createTable(tableDesc);       
            System.out.println("create table " + tableName + " ok.");       
        }        
    }       
           
    /**    
     * 删除表    
     */      
    public static void deleteTable(String tableName) throws Exception {       
       try {       
           HBaseAdmin admin = new HBaseAdmin(conf);       
           admin.disableTable(tableName);       
           admin.deleteTable(tableName);       
           System.out.println("delete table " + tableName + " ok.");       
       } catch (MasterNotRunningException e) {       
           e.printStackTrace();       
       } catch (ZooKeeperConnectionException e) {       
           e.printStackTrace();       
       }       
    }       
            
    /**    
     * 插入一行记录    
     */      
    public static void addRecord (String tableName, String rowKey, String family, String qualifier, String value)       
            throws Exception{       
        try {       
            HTable table = new HTable(conf, tableName);       
            Put put = new Put(Bytes.toBytes(rowKey));       
            put.add(Bytes.toBytes(family),Bytes.toBytes(qualifier),Bytes.toBytes(value));       
            table.put(put);       
            System.out.println("insert recored " + rowKey + " to table " + tableName +" ok.");       
        } catch (IOException e) {       
            e.printStackTrace();       
        }       
    }       
        
    /**    
     * 删除一行记录    
     */      
    public static void delRecord (String tableName, String rowKey) throws IOException{       
        HTable table = new HTable(conf, tableName);       
        List list = new ArrayList();       
        Delete del = new Delete(rowKey.getBytes());       
        list.add(del);       
        table.delete(list);       
        System.out.println("del recored " + rowKey + " ok.");       
    }       
            
    /**    
     * 查找一行记录    
     */      
    public static void getOneRecord (String tableName, String rowKey) throws IOException{       
        HTable table = new HTable(conf, tableName);       
        Get get = new Get(rowKey.getBytes());       
        Result rs = table.get(get);       
        for(KeyValue kv : rs.raw()){       
            System.out.print(new String(kv.getRow()) + " " );       
            System.out.print(new String(kv.getFamily()) + ":" );       
            System.out.print(new String(kv.getQualifier()) + " " );       
            System.out.print(kv.getTimestamp() + " " );       
            System.out.println(new String(kv.getValue()));       
        }       
    }       
            
    /**    
     * 显示所有数据    
     */      
    public static void getAllRecord (String tableName) {       
        try{       
             HTable table = new HTable(conf, tableName);       
             Scan s = new Scan();       
             ResultScanner ss = table.getScanner(s);       
             for(Result r:ss){       
                 for(KeyValue kv : r.raw()){       
                    System.out.print(new String(kv.getRow()) + " ");       
                    System.out.print(new String(kv.getFamily()) + ":");       
                    System.out.print(new String(kv.getQualifier()) + " ");       
                    System.out.print(kv.getTimestamp() + " ");       
                    System.out.println(new String(kv.getValue()));       
                 }       
             }       
        } catch (IOException e){       
            e.printStackTrace();       
        }       
    }       
           
    public static void  main (String [] agrs) {       
        try {       
            String tablename = "scores";       
            String[] familys = {"grade", "course"};       
            HbaseTest.creatTable(tablename, familys);       
                    
            //add record zkb       
            HbaseTest.addRecord(tablename,"zkb","grade","","5");       
            HbaseTest.addRecord(tablename,"zkb","course","","90");       
            HbaseTest.addRecord(tablename,"zkb","course","math","97");       
            HbaseTest.addRecord(tablename,"zkb","course","art","87");       
            //add record  baoniu       
            HbaseTest.addRecord(tablename,"baoniu","grade","","4");       
            HbaseTest.addRecord(tablename,"baoniu","course","math","89");       
                    
            System.out.println("===========get one record========");       
            HbaseTest.getOneRecord(tablename, "zkb");       
                    
            System.out.println("===========show all record========");       
            HbaseTest.getAllRecord(tablename);       
                    
            System.out.println("===========del one record========");       
            HbaseTest.delRecord(tablename, "baoniu");       
            HbaseTest.getAllRecord(tablename);       
                    
            System.out.println("===========show all record========");       
            HbaseTest.getAllRecord(tablename);       
        } catch (Exception e) {       
            e.printStackTrace();       
        }       
    }       
}

标签:String,tableName,System,9.9,import,new,日记,out
From: https://www.cnblogs.com/zhangmingmkzj/p/17689885.html

相关文章

  • C#学习日记
    2023年9月9日工具visualstdio2019窗口名称修改lable标签button点击事件点击换颜色formLearn.ActiveForm.BackColor=Color.Green;点击弹窗MessageBox.Show("这是点击弹窗的内容");所有的事件和行为需要在属性/事件窗口中进行绑定designer.cs内容(自......
  • 9.9模拟总结
    模拟赛笔G总体上:这一次考试真的是dp专场,我全部打的暴力部分分,难受的一批!主要是我个人的dp能力太薄弱了......个体上:第一题:在考场上我的状态设计的很正确,但是没有想出正解,也没有想到过单调队列优化这些事。总结:dp的优化除了直接时间上优化,还可以通过减少状态数来优化。就......
  • 9.9数据结构
    ADT抽象数据类型:数据抽象、数据封装特点:数据封装,实现与现实分离,信息隐藏 数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理数据项:是组成数据元素的,有独有的含义,不可分割的最小单位 在计算机中存储数据时,通常不仅要存储各数据元素的值,还要存储数据元素......
  • 9.9 闲话
    观前提示:如有对式子过敏现象请抓紧点赞后退出,本文字数大约8.0K,加载\(\LaTeX\)可能需要一段时间.在写9.6闲话的时候就在想:对于这种推导,能否导出欧拉求和公式:\[\sum_{a\lek<b}f(k)=\int_a^bf(x)\mathrm{d}x+\sum_{k=1}^m\left.\frac{B_k}{k!}f^{(k-1)}(x)\right|^b_a-......
  • 开发者日记2023年9月9日
    开发者日记2023年9月9日今天星期六我们却是大小周看着外边的人都不上班自己却在这里上班还是挺难受的据说我们老板每周末都玩的很嗨更难受了......
  • 2023.9.9日报
    今天学习了springboot的相关知识,由于自己使用原生的Maven经常出现tomcat配置与hive数据库冲突的问题,因此选择了内置tomcat不需要自己配置也更加先进的springboot确实也该学习一些新的技术不能总是局限于原生的javaweb了 ......
  • CS61B学习日记2
    今天学习了B树和红黑树的概念总结:1.在cs61b中B树分为2-3树和2-3-4树:其中主要的关键点是定L的大小。L是指一个节点最多拥有的元素个数。B树的不变量(我记作为限制):2.1)每个叶子结点到根的路径数相同。2.2)每个包含元素个数为k的非叶子结点,其必有链接k+1个叶子结点2.本课......
  • Python学习日记 京东工单信息获取
    importrequestsimportcsvimportrandomf=open('vc.csv',mode='a',encoding='utf-8',newline='')csv_writer=csv.DictWriter(f,fieldnames=['客户姓名','订单编号','pin'])csv_wri......
  • 日记2023-09-07
    随笔1:阿拉伯数字,大写英文字母,小写英文字母,点号,减号,共是64个,2的6次方。随笔2:数据类型和方法尽量分离,对于F#来说,记录类型,可区分联合类型,里面不要使用member成员,而是将其放到module模块中。尽量不要使用类属性,而是单独声明set与get成员。避免将访问成员变量的方法伪装成成员变量......
  • 2023年9月5日 - 日记
    题目"脑补"了ARC164A题数学,把数做三进制拆分,然后看能再拆几次3.B题图论,只需要找图上是否有一个环满足一条边的两端是同色,其他边的两端是不同色.C题贪心,为了简化代码难度,可以认为,当前每个物品已经产生了\(V_i=\frac{A_i+B_i}{2}\)的权值,同时有一个\(C_i=A_i-V_i\)的附......