摘要: 上述的代码会发生脏读的问题,解决的办法是在setValue的方法上加synchronized关键字 读取和设置的数据必须保证是一致的。 这和数据库的一致性原理是一样的。 阅读全文
posted @ 2016-07-26 23:29 dongdone 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 一、codegen工具的使用 其中bindir参数指明了生成的class文件,jar包的输出目录 sqoop在进行每一次的导出任务时,都会调用codegen,生成一个java文件,并编译打包成jar,供mapreduce使用。这个java文件包装了一系列的对导出数据的访问接口,我们可以尝试通过对这个 阅读全文
posted @ 2016-07-26 22:49 dongdone 阅读(1648) 评论(0) 推荐(0) 编辑
摘要: sqoop的导出工具是把HDFS上文件中的数据导出到mysql中 mysql中的表 现在在linux上创建一个文件,并把这个文件上传到hdfs上 一、export-dir 使用export-dir来指定导出的目录,会导出该目录下的所有文件。 最终的效果可以在mysql中的表体现: 二、插入中文乱码问 阅读全文
posted @ 2016-07-26 18:04 dongdone 阅读(3848) 评论(0) 推荐(0) 编辑
摘要: 1.hive-table 从mysql导入数据到hive表中,可以使用--hive-table来指定hive的表名,不指定hive表名,则hive表名与mysql表名保持一致。 hive中的表结构是: 2.create-hive-table工具 create-hive-table工具是依据mysql 阅读全文
posted @ 2016-07-26 15:59 dongdone 阅读(5786) 评论(0) 推荐(0) 编辑
摘要: luigi提供了两个基本单元来构造一个工作流,这两个基本单元分别是Task和Target。这两个单元都是抽象类,我们实现他们中的某些方法就可以了。除了这两个基本单元,还有一个重要的概念是Prameter,它可以控制task的运行方式。 一、target target对应的是磁盘上的一个文件,或者是H 阅读全文
posted @ 2016-07-26 11:52 dongdone 阅读(1070) 评论(0) 推荐(0) 编辑
摘要: --local-scheduler的方式只适用于开发调试阶段,当你真正要把程序部署到一个产品时,我们推荐使用luigid服务。 使用luigid服务不但能提供锁服务(防止一个任务被多个进程重复执行),并且还提供了一个友好的可视界面。 一、如何使用luigid 1.1执行luigid 首先你在一个终端 阅读全文
posted @ 2016-07-26 10:49 dongdone 阅读(964) 评论(0) 推荐(0) 编辑