使用scala,java实现使用phenix读取hbase中数据

本文介绍如何利用Scala和Java实现与Phoenix和HBase的数据映射,并通过SQL查询实现高效的数据检索,包括获取时间戳和总金额。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提:将phenix与hbase已经成功映射
直接上代码:scala
object testperson {
  def main(args: Array[String]) {
    var cc: Connection = null
    val driver: String = "org.apache.phoenix.jdbc.PhoenixDriver"
    val url: String = "jdbc:phoenix:10.248.27.42:2181"
      Class.forName(driver)
      cc = DriverManager.getConnection(url)
      val conn: Connection = DriverManager.getConnection(url)
      val statement: Statement = conn.createStatement
      val time: Long = System.currentTimeMillis
      val sql: String = "select * from ORDER_COST_TOTAL order by END_TIME desc limit 1"
      val rs: ResultSet = statement.executeQuery(sql)
      while (rs.next) {
        val time:Timestamp = rs.getTimestamp("END_TIME")
        val money:Double=rs.getDouble("ORDER_COST")
     println("time:"+time+"   money:"+money)
      }
      val timeUsed: Long = System.currentTimeMillis - time
      System.out.println("所花费的时间" + timeUsed)
    }
}



java版

import java.sql.*;
import java.util.List;

public class ReadMoney {
    public static void main( String[] args ) throws Throwable
    {
        GetConnection();
}
    public static void GetConnection(){
        Connection cc = null;
        String driver = "org.apache.phoenix.jdbc.PhoenixDriver";
         String url = "jdbc:phoenix:10.248.27.42:2181";

        try {
            Class.forName(driver);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

            try {
                cc = DriverManager.getConnection(url);
                Connection conn = DriverManager.getConnection(url);
                Statement statement = conn.createStatement();
                long time = System.currentTimeMillis();
                String sql = "select *  from test.Person";
                ResultSet rs = statement.executeQuery(sql);

                while (rs.next()) {
                    //获取时间戳和总金额
                    Integer incardNum=rs.getInt("IDCARDNUM");
                    Timestamp ss;
                    String name=rs.getString("NAME");
                    Integer age=rs.getInt("AGE");
//                    Timestamp time=rs.getTimestamp(0);
//                    Double money=rs.getDouble(1);
            System.out.println("incardNum: "+incardNum+"  name:"+name+ "  money:" + age);
        }
                long timeUsed = System.currentTimeMillis() - time;
                System.out.println("所花费的时间"+timeUsed);
            } catch (SQLException e) {
                e.printStackTrace();
            }


    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值