将数据加载到hbase中

将数据加载到hbase中,hbase,Hbase,如何将任何格式(如:json、xml等)的数据加载到hbase表中?是否有任何特定的输出格式可以在作业配置(java)中设置,以便将任何形式的数据加载到hbase中,或者是否有任何应用程序可以在内部将任何形式的数据加载到hbase中 插入到hbase表中的数据应以字节为单位。因此,即使是XML或JSON格式的数据,也应将其转换为字节。从hbase表检索数据时应应用反向逻辑。包含转换逻辑的实用程序类将完成此工作 当您想在HBase中存储数据时,您需要做一些额外的选择,它不仅仅是一个文件。例如,您需

如何将任何格式(如:json、xml等)的数据加载到hbase表中?是否有任何特定的输出格式可以在作业配置(java)中设置,以便将任何形式的数据加载到hbase中,或者是否有任何应用程序可以在内部将任何形式的数据加载到hbase中

插入到hbase表中的数据应以字节为单位。因此,即使是XML或JSON格式的数据,也应将其转换为字节。从hbase表检索数据时应应用反向逻辑。包含转换逻辑的实用程序类将完成此工作

当您想在HBase中存储数据时,您需要做一些额外的选择,它不仅仅是一个文件。例如,您需要确定键是什么,您将拥有哪些列族,它们的特征(例如,压缩、使用TTL等),以及您是将所有输入存储在一个列中,还是将其解析并将片段存储在不同的列中

这意味着您必须在存储数据之前进行一些处理,而不仅仅是作业配置

也就是说,当您想要创建一个将写入HBase的作业时,您可以通过TableMapReduceUtil告诉它涉及哪些表 例如:

    Job job = new Job(conf, "My Job");
    job.setJarByClass(Mymapred.class);

    Scan scan = new Scan();
    // set the scan parameters ..

    TableMapReduceUtil.initTableMapperJob(
            INPUT_TABLE_NAME,
            scan,
            MyMapper.class,Text.class,Result.class,
            job);

    TableMapReduceUtil.initTableReducerJob(
            OUTPUT_TABLE_NAME,
            MyReducer.class,
            job);