大邦 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 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思