先使用Tos建立模型,将Oracle中的数据导入到本地:

build job后,形成独立可以运行的程序:

将生成的zip文件,上传到hadoop集群上,有hive环境的机器上:

  1. [hive@h1 work]$ ls
  2. file.zip jobInfo.properties join lib
  3. [hive@h1 work]$ cd join/
  4. [hive@h1 join]$ ls
  5. bigdatademo items join_0_1.jar join_run.bat join_run.sh src user_activity2
  6. [hive@h1 join]$ pwd
  7. /home/work/join
  8. [hive@h1 join]$ ls
  9. bigdatademo items join_0_1.jar join_run.bat join_run.sh src user_activity2
  10. [hive@h1 join]$ pwd
  11. /home/work/join
  12. [hive@h1 join]$ ./join_run.sh > user_activity2 2>&1 &

这样就得到了SQL语句执行的结果,存放在user_activity2中。

hive建表语句:

  1. hive> show create table user_activity2;
  2. OK
  3. CREATE TABLE `user_activity2`(
  4. `user_id` string,
  5. `user_name` string,
  6. `sex` string,
  7. `age` string,
  8. `reg_hosp` string,
  9. `reg_community` string,
  10. `type` string,
  11. `disease_code` string,
  12. `disease` string,
  13. `doctor` string,
  14. `hosp_name` string,
  15. `service_id` string,
  16. `drug_id` string,
  17. `drug_name` string,
  18. `antibiotic` string,
  19. `hormone` string,
  20. `source` string,
  21. `base_drug` string,
  22. `community` string,
  23. `date` string)
  24. ROW FORMAT DELIMITED
  25. FIELDS TERMINATED BY '|'
  26. STORED AS INPUTFORMAT
  27. 'org.apache.hadoop.mapred.TextInputFormat'
  28. OUTPUTFORMAT
  29. 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
  30. LOCATION
  31. 'hdfs://h1:8020/apps/hive/warehouse/cyw.db/user_activity2'
  32. TBLPROPERTIES (
  33. 'transient_lastDdlTime'='1435547544')
  34. Time taken: 0.288 seconds, Fetched: 31 row(s)

将数据导入到hive表中:load data local inpath './user_activity2' into table user_activity2;

  1. hive> show tables;
  2. OK
  3. Time taken: 0.794 seconds
  4. hive> use cyw;
  5. OK
  6. Time taken: 0.256 seconds
  7. hive> show tables;
  8. OK
  9. user_activity
  10. user_activity2
  11. Time taken: 0.136 seconds, Fetched: 2 row(s)
  12. hive> load data local inpath './user_activity2' into table user_activity2;
  13. Loading data to table cyw.user_activity2
  14. Table cyw.user_activity2 stats: [numFiles=1, totalSize=216927483]
  15. OK
  16. Time taken: 10.898 seconds
  17. hive> select * from user_activity2;
  18. OK
  19. F805418B-335F-4CA3-A209-7C9655148146 余泽英 2 47 成都高新区合作社区卫生服务中心 合作 1 急性支气管炎 谭万龙 成都高新区合作社区卫生服务中心 1E972231-C65A-4CE3-9233-8EA1B18058DE 灭菌注射用水 d875aacf-4723-4777-91ec-12d63732b58f 0 0 其他 合作 2014-02-27
  20. F805418B-335F-4CA3-A209-7C9655148146 余泽英 2 47 成都高新区合作社区卫生服务中心 合作

查询语句:

  1. select a.个人id,
  2. b.姓名,
  3. b.性别,
  4. round((sysdate - b.出生日期) / 365) as fage,
  5. b.建档单位,
  6. replace(replace(replace(b.建档单位, '高新区'), '社区卫生服务中心'),
  7. '成都') 建档社区,
  8. 1 as ftype,
  9. a.问题编码,
  10. a.问题名称,
  11. a.处理医生,
  12. c.机构名,
  13. a.服务记录id,
  14. f.名称,
  15. f.id 药品ID ,
  16. f.抗生素,
  17. f.激素类药,
  18. case when f.药品来源 is null then '其他' else f.药品来源 end 药品来源,
  19. f.基药分类,
  20. replace(replace(replace(c.机构名, '高新区'), '社区卫生服务中心'),'成都') 诊疗社区,
  21. to_char(a.发现日期,
  22. 'yyyy-mm-dd') 诊疗日期
  23. from ZLCHS.个人问题列表 a,
  24. ZLCHS.个人信息 b,
  25. ZLCHS.服务活动记录 c,
  26. (select d.事件id, e.名称, e.id, h.药品来源, h.基药分类, g.抗生素, g.激素类药
  27. from ZLCHS.个人费用记录 d, ZLCHS.收费项目目录 e, ZLCHS.药品规格 h, ZLCHS.药品特性 g
  28. where d.收费项目id = e.id
  29. and d.收据费目 in ('西药费', '中草药费', '中成药费')
  30. and h.药品id(+) = e.id
  31. and h.药名id = g.药名id) f
  32. where a.个人id = b.id(+)
  33. and a.服务记录id = c.id(+)
  34. and a.服务记录id = f.事件id(+)

加入分区字段:

  1. CREATE TABLE `user_activity`(
  2. `user_id` string,
  3. `user_name` string,
  4. `sex` string,
  5. `age` string,
  6. `reg_hosp` string,
  7. `reg_community` string,
  8. `type` string,
  9. `disease_code` string,
  10. `disease` string,
  11. `doctor` string,
  12. `hosp_name` string,
  13. `service_id` string,
  14. `drug_id` string,
  15. `drug_name` string,
  16. `antibiotic` string,
  17. `hormone` string,
  18. `source` string,
  19. `base_drug` string,
  20. `community` string,
  21. `date` string)
  22. PARTITIONED BY (
  23. `dt` string)
  24. ROW FORMAT DELIMITED
  25. FIELDS TERMINATED BY '|'
  26. STORED AS INPUTFORMAT
  27. 'org.apache.hadoop.mapred.TextInputFormat'
  28. OUTPUTFORMAT
  29. 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
  30. LOCATION
  31. 'hdfs://h1:8020/apps/hive/warehouse/cyw.db/user_activity'
  32. TBLPROPERTIES (
  33. 'transient_lastDdlTime'='1435559269')
  34. Time taken: 0.252 seconds, Fetched: 33 row(s)

默认的字段分隔符为ascii码的控制符\001,建表的时候用fields terminated by '\001',如果要测试的话,造数据在vi 打开文件里面,用ctrl+v然后再ctrl+a可以输入这个控制符\001。按顺序,\002的输入方式为ctrl+v,ctrl+b。以此类推。

使用Talend Open Studio将数据分步从oracle导入到hive中的更多相关文章

  1. Talend 将Oracle中数据导入到hive中,根据系统时间设置hive分区字段

    首先,概览下任务图: 流程是,先用tHDFSDelete将hdfs上的文件删除掉,然后将oracle中的机构表中的数据导入到HDFS中:建立hive连接->hive建表->tJava获取系 ...

  2. 使用Sqoop,最终导入到hive中的数据和原数据库中数据不一致解决办法

            Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL , ...

  3. 把HDFS上的数据导入到Hive中

    1. 首先下载测试数据,数据也可以创建 http://files.grouplens.org/datasets/movielens/ml-latest-small.zip 2. 数据类型与字段名称 m ...

  4. 使用sqoop将mysql数据导入到hive中

    首先准备工具环境:hadoop2.7+mysql5.7+sqoop1.4+hive3.1 准备一张数据库表: 接下来就可以操作了... 一.将MySQL数据导入到hdfs 首先我测试将zhaopin表 ...

  5. 基于ASP.NET几十万数据几秒钟就可以导入到数据库中

    /// <summary> /// 一.构建模拟数据存放于DataTable /// </summary> /// <returns>DataTable</r ...

  6. 如何将数据导入到hive中

    可以通过多种方式将数据导入hive表 1.通过外部表导入 用户在hive上建external表,建表的同时指定hdfs路径,在数据拷贝到指定hdfs路径的同时,也同时完成数据插入external表. ...

  7. sqlserver 中数据导入到mysql中的方法以及注意事项

    数据导入从sql server 到mysql (将数据以文本格式从sqlserver中导出,注意编码格式,再将文本文件导入mysql中): 1.若从slqserver中导出的表中不包含中文采用: bc ...

  8. hdfs数据到hive中,以及hdfs数据隐身理解

    hdfs数据到hive中: 假设hdfs中已存在好了数据,路径是hdfs:/localhost:9000/user/user_w/hive_g2park/user_center_enterprise_ ...

  9. oracle数据库中导入Excel表格中的数据

    1.点击[工具]-->[ODBC 导入器],如图: 2.在导入器里选择第一个[来自ODBC的数据],用户名/系统DSN-->填写[Excel Files],输入用户名和密码,点击 [连接] ...

随机推荐

  1. tornado输出json

    只需要输出一个dict就自动会变成json http://www.tornadoweb.org/en/stable/web.html#tornado.web.RequestHandler.write

  2. 安装和测试Kafka(转)

    http://blog.javachen.com/2015/03/17/install-and-test-kafka/# 本文主要介绍如何在单节点上安装 Kafka 并测试 broker.produc ...

  3. HTML5开发之获取设备的地理坐标

    近期一段时间開始学一下html5,发现里面有好多的知识还是蛮新颖的.所以整理了一下自己练习过的demo给大家分享下,以下的代码是通过js接口获取当前的地理坐标. <!doctype html&g ...

  4. python xlsxwriter写excel并操作各种格式属性

    # -*- coding: utf-8 -*- import xlsxwriter workbook = xlsxwriter.Workbook('test.xlsx') worksheet = wo ...

  5. SSM项目的数据库密码加密方案

    项目主要采用:SpringMVC4.3.2.RELEASE +Spring4.3.2.RELEASE + Maven 3.3.3 + druid 1.0.29 + Mybatis 3.2.8 + My ...

  6. OpenERP 7中 openerp-server.conf 的解释

    服务器启动配置 – 通用项 程序代码: [选择] # Admin password for creating, restoring and backing up databases admin_pas ...

  7. 〖Linux〗Kubuntu14.04 平滑字体的设置

    有没有感觉终端的字体锯齿感觉非常强? 经过搜索后发现可以平滑字体显示得更漂亮一点: System Settings > Application Appearance > Fonts I e ...

  8. Java Web项目总结

    知识点列表(慢慢增加,红色代表公司暂时没有使用): 开发: 视图层技术——HTML,CSS,JS,AJAX,Tiles,Velocity,FreeMarker 持久层技术——MyBatis,Hiber ...

  9. iOS手势的综合运用

    //自定义一个VIEW封装手势功能 // CustormView.m // gesterDemoo // // Created by ganchaobo on 13-7-13. // Copyrigh ...

  10. HDUOJ-----Computer Transformation

    Computer Transformation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/ ...