java - 使用 Java 准确确定 HDFS 中的文件以加载到一个 Hbase 表中?

标签 java hadoop hbase

我是大数据和 Hadoop 的新手。我正在学习 Hadoop 和 Hbase。我遇到了问题,但仍然不知道。你能帮帮我吗?

我已将 3 个 csv 文件放入 HDFS,包括:
- 文件 1(Subscribe_info.txt): numID, active_date, status
- 文件 2(Recharge.txt): numID, recharge_history_date, amount, method
- 文件 3 (Charge.txt): numID, charge_date, amount_charge

所有这些都通过 numID 相互关联。

我需要将上面的所有数据加载到一个 Hbase 表中,行键是 numID 并包含所有相关的列,如下所示:

Hbase table: rowkey= userID -- Column: active_date - status - recharge_history - amount_recharge - method - charge - history - amount

我使用 Java 并创建了 3 个类来解析来自 3 个数据文件的数据。但是我不知道如何从HDFS读取文件路径并解析以将其放入Hbase表中。

最佳答案

您的要求有这些步骤

1) 你必须读取 HDFS 文件(在你的情况下你必须读取 csv 文件你可以使用 Open CSV 只是我在下面给出了一个读取普通文件的例子)

2) 准备一个 put 并上传到 HBASE

我已经提到了执行它的代码here. pls have a look

import java.io.*;
import java.util.*;
import java.net.*;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.conf.*;
import org.apache.hadoop.io.*;
import org.apache.hadoop.mapred.*;
import org.apache.hadoop.util.*;


public class Cat{
        public static void main (String [] args) throws Exception{
                try{
                        Path pt=new Path("hdfs://npvm11.np.wc1.yellowpages.com:9000/user/john/abc.txt");
                        FileSystem fs = FileSystem.get(new Configuration());
                        BufferedReader br=new BufferedReader(new InputStreamReader(fs.open(pt)));
                        String line;
                        line=br.readLine();
                        while (line != null){
                                System.out.println(line);
                                line=br.readLine();
                        }
                }catch(Exception e){
                }
        }
}

希望这有帮助..

关于java - 使用 Java 准确确定 HDFS 中的文件以加载到一个 Hbase 表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38376117/

相关文章:

java - hibernate 映射中可以选择哪种集合类型

java - 为什么 Math.tan() 对于不同的精度级别返回不同的值?

java - 为什么我的字符串在经过 while 循环后不会更新?

hadoop - 为集群创建 Spark 环境

java - 比较hbase中的2个表,并使用TableMapReduceUtil将摘要写入第三个表

java - C 相当于 java.util.regex

hadoop - 如何在将数据加载到 Hive 时指定输入文件格式

hadoop - 无法将水槽与 mongodb 连接

java - org.plasma.query.OrderBy 不工​​作

Hadoop 和 HBase 集成