Wn_666666 2021-05-28 11:26 采纳率: 0%
浏览 27

Exception in

package Save;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;

public class SaveWeather {
    public static void main(String[] args) throws IOException {
        ArrayList<String[]> readData=SaveWeather.readData();
        for(String[] arr:readData){
            for (String line:arr){
                System.out.println(line+" ");
            }
            System.out.println();
        }
    }
    public  static void createTable() throws IOException {
        //
        Configuration conf = HBaseConfiguration.create();
        //配置参数
        conf.set("hbase.zookeeper.quorum","192.168.204.200,192.168.204.201,192.168.204.202");
        conf.set("hbase.rootdir","hdfs://192.168.204.200:9000/hbase");
        System.out.println("连接中.....");
        Connection connection = ConnectionFactory.createConnection(conf);
        System.out.println("获取到conn....."+connection);
        Admin admin = connection.getAdmin();

        //定义表名,创建表结构对象,创建列族
        TableName tableName = TableName.valueOf(Bytes.toBytes("weather"));
        TableDescriptorBuilder tabledesc = TableDescriptorBuilder.newBuilder(tableName);
        tabledesc.setColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes("weatherInfo")).build());
        System.out.println("正在建表.....");
        //3.建表
        admin.createTable(tabledesc.build());
        System.out.println("建表成功");
    }
    public static void getData(){

    }
    //插入数据
    public  static void putData(){

    }
    //读取数据
    public static ArrayList<String []> readData() throws IOException {
        File inputFiles = new File("D:\\DocumentsTencent Files2791852837FileRecv\\changsha202004.txt");
        File[] filelist = inputFiles.listFiles();
        ArrayList<String[]> list = new ArrayList<String[]>();
        for( File file: filelist) {
            Scanner in = new Scanner(file);

            while(in.hasNext()) {
                String read = in.nextLine();
                if(read!=null&&!read.equals(null)) {
                    String[] line = read.split("\t");
                    list.add(line);
                }
            }
            in.close();
        }
        return list;
    }
}

  • 写回答

4条回答 默认 最新

  • CSDN专家-Fay 2021-05-28 11:29
    关注

    56行空指针啊,filelist为null,没有从文件中读取到内容!

    评论

报告相同问题?