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;
}
}
56行空指针啊,filelist为null,没有从文件中读取到内容!
File inputFiles = new File("D:\\DocumentsTencent Files2791852837FileRecv\\changsha202004.txt");
//这个代码有问题,你的意思是从文件内容里面读取读文件吗?
File[] filelist = inputFiles.listFiles();
File inputFiles = new File("D:\\DocumentsTencent Files2791852837FileRecv\\changsha202004.txt"); 这句代码是实例化一个文件对象
File[] filelist = inputFiles.listFiles(); 这个方法是读取文件夹中的文件
这两句代码矛盾啊。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632