2019-03-13 I/O操作

https://cloud.tencent.com/developer/article/1330159

checksum I/O操作中的数据检查

校验和方式是检查数据完整性的重要方式。一般会通过对比新旧校验和来确定数据情况,如果两者不同则说明数据已经损坏。

比如,在传输数据前生成了一个校验和,将数据传输到目的主机时再次计算校验和,如果两次的校验结果不同,则说明数据已经损坏。

因为Hadoop采用HDFS作为默认的文件系统,因此具有两方面的数据完整性。

ApacheSqoop(SQL-to-Hadoop)项目旨在协助RDBMS与Hadoop之间进行高效的大数据交流。

关系型数据库的数据导入到Hadoop(可保存为多种文件类型:文本类型,Avro二进制类型以及SequenceFiles类型)

与其相关的系统(如HBase和Hive)中;

同时也可以把数据从Hadoop系统里抽取并导出到关系型数据库里。

Sqoop中一大亮点就是可以通过hadoop的mapreduce把数据从关系型数据库中导入数据到HDFS。Sqoop架构非常简单,其整合了Hive、Hbase和Oozie,通过map-reduce任务来传输数据,从而提供并发特性和容错。

Sqoop在import时,需要制定split-by参数。Sqoop根据不同的split-by参数值来进行切分,然后将切分出来的区域分配到不同map中。每个map中再处理数据库中获取的一行一行的值,写入到HDFS中。同时split-by根据不同的参数类型有不同的切分方法,如比较简单的int型,Sqoop会取最大和最小split-by字段值,然后根据传入的num-mappers来确定划分几个区域。比如selectmax(split_by),min(split-by)from得到的max(split-by)和min(split-by)分别为1000和1,而num-mappers为2的话,则会分成两个区域(1,500)和(501-100),同时也会分成2个sql给2个map去进行导入操作,分别为selectXXXfromtablewheresplit-by>=1andsplit-by<500和selectXXXfromtablewheresplit-by>=501andsplit-by<=1000。最后每个map各自获取各自SQL中的数据进行导入工作

作者:CatherinePlans

链接:https://www.jianshu.com/p/e42f307b1f07

来源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《财务自由之旅》系列文章前后写了快一年时间,目的主要是记录和总结这十年来的创业经历,也算是给自己从业十年的一个纪念...
    小虎仔阅读 830评论 2 7
  • 第一天作业 上课并做听课笔记——笔记发在群里 第2天作业 写出自己工作,学习,生活三方面的21天微目标,下载滴答清...
    一点亮_2eaf阅读 225评论 0 1
  • 微信、支付宝、网银扫码支付?应有尽有! 提供?专业第三方接口:WAPH5? BC、SSC、H5、CP H5游戏天生...
    07ca893504f5阅读 950评论 1 0