zoukankan      html  css  js  c++  java
  • JAVA 实现数据导入Phoenix

    需要导入的jar 包有:

    实现代码:

    package cn.test;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Random;
    
    public class PhoenixTest {
    
        public static void insertDatas() {
    
            Statement stmt;
            Connection con;
            String ItemID = getItemID( 10 );
            String ItemName = getItemName(10);
            float Price = (float) 0.1;
            try
            {
                con = DriverManager.getConnection("jdbc:phoenix:node11:2181" );
                stmt = con.createStatement();
                System.out.println("content success....");
               // stmt.executeUpdate("create table test (mykey integer not null primary key, mycolumn varchar)");
                stmt.executeUpdate( "create table  items ( ItemID varchar not null primary key,ItemName VARCHAR NULL,Price FLOAT NULL ");
                for ( int i = 0; i < 1000; i++ )  //需要导入多少数据自己修改,如果数据量比较大就需要500或者1000条提交一次;或者定时提交,下次再修改代码
                {
                    stmt.executeUpdate( "upsert into items values ('" + ItemID + "','" + ItemName + "','" + Price++ + "')" );
                }
    
                con.commit();
                con.close();
            }
            catch ( SQLException e )
            {
                e.printStackTrace();
            }
        }
    
        /**
         * 生成随机数当作getItemID
         * 
         * @return
         */
        public static String getItemID( int n )
        {
            String val = "";
            Random random = new Random();
            for ( int i = 0; i < n; i++ )
            {
                String str = random.nextInt( 2 ) % 2 == 0 ? "num" : "char";
                if ( "char".equalsIgnoreCase( str ) )
                { // 产生字母
                    int nextInt = random.nextInt( 2 ) % 2 == 0 ? 65 : 97;
                    // System.out.println(nextInt + "!!!!"); 1,0,1,1,1,0,0
                    val += (char) ( nextInt + random.nextInt( 26 ) );
                }
                else if ( "num".equalsIgnoreCase( str ) )
                { // 产生数字
                    val += String.valueOf( random.nextInt( 10 ) );
                }
            }
            return val;
        }
    
        /**
         * 生产ItemName随机函数
         * @param length
         * @return
         */
        public static String getItemName( int length ){
            String base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
            Random random = new Random();
            StringBuffer sb = new StringBuffer();
            for ( int i = 0; i < length; i++ )
            {
                int number = random.nextInt( base.length() );
                sb.append( base.charAt( number ) );
            }
            return sb.toString();
        }

         

    /**
    * time run
    */
    public static void runTimerByTime(){
    Runnable runnable = new Runnable() {
    public void run() {
      System.out.println("...........hellon.....");
    }
    };
    ScheduledExecutorService service = Executors
    .newSingleThreadScheduledExecutor();
    service.scheduleAtFixedRate(runnable, 0, 3, TimeUnit.MILLISECONDS);
    }

    public static void main( String[] args ){
            insertDatas();
        }
    }
  • 相关阅读:
    无限维
    黎曼流形
    why we need virtual key word
    TOJ 4119 Split Equally
    TOJ 4003 Next Permutation
    TOJ 4002 Palindrome Generator
    TOJ 2749 Absent Substrings
    TOJ 2641 Gene
    TOJ 2861 Octal Fractions
    TOJ 4394 Rebuild Road
  • 原文地址:https://www.cnblogs.com/zhanggl/p/5175897.html
Copyright © 2011-2022 走看看