大邦 2014-12-29 07:22 采纳率: 100%
浏览 6121
已采纳

如何将存储量很大的txt文档数据导入到hbase当中

我现在要写一个程序,将第三方导出的txt文件内容读取并放到hbase当中。
由于txt文档非常大(超过10G),我初步思路是通过单线程读取到一个线程安全的容器当中,然后再利用多线程向hbase中写入。
请问有没有什么更好的思路,谢谢!

  • 写回答

4条回答 默认 最新

  • joeywen 2014-12-29 15:32
    关注

    方案一:
    1、在Linux环境利用split命令把文件分块;
    2、多线程对多文件读取写入HBase
    方案二:
    1、要看文件的格式是怎么样的,你想存HBase的格式怎样的
    2、把文件按照格式分割建表存入Hive
    3、利用HiveIntegrate 工具把Hive映射到HBase 表
    方案三:
    1、HBase现已支持MapReduce,把文件先load到HDFS,利用命令:hdfs fs -copyFromLoad xxx xxxxxx
    2、编写MapReduce程序,读取存入HDFS的文件,程序会自动split文件,然后有多个mapper读取
    然后在reduce中把数据写入hbase。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 怎么获取下面的: glove_word2id.json和 glove_numpy.npy 这两个文件
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug