使用java代码编写脚本,把oracle建表语句变成hive建表语句

  • java代码
  • 测试oracle.sql
  • 生成hive创表语句

java代码

import java.io.File;
import java.io.IOException;
import java.util.Scanner;public class O2H {public static void main(String[] args) throws Exception {getFileContentThree("oracle.sql");}public static void getFileContentThree(String str) throws IOException {Scanner in = new Scanner(new File("D:\\Ideaprojects\\bigdata15_0612\\data\\oracle_sql\\"+str));while (in.hasNextLine()) {String s = in.nextLine();String s1 = s.replaceAll("\"", "");String s2 = s1.replaceAll("VARCHAR2\\(64 BYTE\\)", "string");String s3 = s2.replaceAll("NVARCHAR2\\(200\\)", "string");String s4 = s3.replaceAll("VARCHAR2\\(2000 BYTE\\)", "string");String s5 = s4.replaceAll("VARCHAR2\\(500 BYTE\\)", "string");String s6 = s5.replaceAll("VARCHAR2\\(200 BYTE\\)", "string");String s7 = s6.replaceAll("CLOB", "string");String s8 = s7.replaceAll("VARCHAR2\\(64 BYTE\\)", "string");String s9 = s8.replaceAll("TIMESTAMP\\(6\\)", "timestamp");String s10 = s9.replaceAll("NVARCHAR2\\(255\\)", "string");String s11 = s10.replaceAll("CHAR\\(1 BYTE\\)", "string");String s12 = s11.replaceAll("DEFAULT '0'   NOT NULL", "");String s13 = s12.replaceAll("NOT NULL", "");String s14 = s13.replaceAll("TEST\\.", "ODS_");String s15 = s14.replaceAll("VARCHAR2\\(255 BYTE\\)", "string");String s16 = s15.replaceAll("VARCHAR2\\(1000 BYTE\\)", "string");String s17 = s16.replaceAll("NUMBER", "double");String s18 = s17.replaceAll("VARCHAR2\\(400 BYTE\\)", "string");String s19 = s18.replaceAll("VARCHAR2\\(2550 BYTE\\)", "string");String s20 = s19.replaceAll("NVARCHAR2\\(64\\)", "string");String s21 = s20.replaceAll("NVARCHAR2\\(2000\\)", "string");String s22 = s21.replaceAll("DEFAULT \'\'", "");String s23 = s22.replaceAll("VARCHAR2\\(1 BYTE\\)", "string");String s24 = s23.replaceAll("VARCHAR2\\(100 BYTE\\)", "string");String s25 = s24.replaceAll("VARCHAR2\\(4000 BYTE\\)", "string");String s26 = s25.replaceAll("NVARCHAR2\\(500\\)", "string");String s27 = s26.replaceAll("NVARCHAR2\\(100\\)", "string");String s28 = s27.replaceAll("NUMBER\\(10,0\\)", "double");String s29 = s28.toLowerCase();String s30 = s29.replaceAll("\\)", ");");String s31 = s30.replaceAll("blob", "string");String s32 = s31.replaceAll("long", "string");System.out.println(s32);}}
}

测试oracle.sql

CREATE TABLE "TEST"."ORACLE" ("ID" VARCHAR2(64 BYTE) NOT NULL,"CATEGORY_ID" VARCHAR2(64 BYTE) NOT NULL,"CONTENT_ID" VARCHAR2(64 BYTE) NOT NULL,"TITLE" VARCHAR2(255 BYTE),"CONTENT" VARCHAR2(255 BYTE),"NAME" VARCHAR2(100 BYTE),"CREATE_DATE" TIMESTAMP(6) NOT NULL
)

生成hive创表语句

create table ods_oracle (id string ,category_id string ,content_id string ,title string,content string,name string,create_date timestamp
);

使用java代码编写脚本,把oracle建表语句变成hive建表语句相关推荐

  1. mysql 建表语句示例_MySQL Create Table语句和示例

    mysql 建表语句示例 In this article, I am going to explain the MySQL CREATE TABLE statement with examples. ...

  2. java添加员工代码_利用java代码,编写JDBC连接数据库新增员工信息的步骤. 员工信息表:t_emp(id int?...

    展开全部 第一步:新建数据库 连接的是本地localhost,新建一个新的数据库名是jdbctest 然后建表t_emp 不会的话可32313133353236313431303231363533e5 ...

  3. mysql建表语句 金额_mysql 建表语句

    最近项目在用mysql语句 指定非空,默认值为空字符串    NOT NULL  DEFAULT '' 建表 CREATE TABLE  IF NOT EXISTS `ims_test` ( `id` ...

  4. postgres 命令行建数据库表_Postgresql 查看建表语句 命令

    Mysql查看建表语句以及修改引擎 更多内容推荐微信公众号,欢迎关注: 1 查看系统支持的存储引擎 show engines; 2 查看表使用的存储引擎 两种方法: a.show table stat ...

  5. 网易视频云技术分享:HBase - 建表语句解析

    网易视频云的技术专家给大家分享一篇技术性文章:HBase - 建表语句解析. 像所有其他数据库一样,HBase也有表的概念,有表的地方就有建表语句,而且建表语句还很大程度上决定了这张表的存储形式.读写 ...

  6. 长沙北大青鸟java 学费_长沙北大青鸟学校好不好 长沙北大青鸟实力学费一览表:Java代码编写规范(二)...

    原标题:长沙北大青鸟学校好不好 长沙北大青鸟实力学费一览表:Java代码编写规范(二) 文件名规范 1.一个Java源文件只能存储个Java类. 2.文件名与Java类名相同. 3.一个类文件的代码行 ...

  7. Java代码编写猜拳小游戏

    Java代码编写猜拳小游戏 import java.util.Random; import java.util.Scanner;public class Guess {public static vo ...

  8. 猜数字小游戏(java代码编写)

    猜数字小游戏(java代码编写) 给大家一个用java代码编写的猜数字小游戏 // 导入随机数包import java.util.Random;// 导入从键盘接收数据的函数import java.u ...

  9. java oracle 建表语句_在oracle数据库中创建表语句如何写?

    表名:servicelogs 字段名称类型 idint (主键,自增) servicetypevarchar (100) outsysvarchar (100) methodnamevarchar ( ...

最新文章

  1. C# 实现FTP上传与下载
  2. JS代码报错 Uncaught SyntaxError: Unexpected token ,
  3. beego 显示html文件,[Beego] 内置的模板函数(不同格式的字符串和html的互转)
  4. python学习点滴记录-Day09
  5. Git之深入解析如何使用Git调试项目源码中的问题
  6. [Swagger2]拓展:其他皮肤
  7. win7卸载python2.7_win7重装系统后设置Python2.7环境
  8. Angular / RxJs我应该何时退订`Subscription`
  9. python基础教程第三版电子版-《python基础教程第三版》PDF高清完整版-免费下载...
  10. UGUI的Slider
  11. vscode C语言中文输出乱码问题的解决
  12. SEO主要是做什么的?零基础能学习吗?
  13. 初级软件测试工程师工资(薪资待遇)一般是多少?
  14. 【云图】如何用云图制作APP(旅游类,美食记录,免费停车,通讯录等)
  15. 智优ERP的升级版智优E3_ERP,可以自定义列,和自定义打印公司logo
  16. 硬件工程师基本功:AD的DRC设置要点详解
  17. 物体的轴向指向目标(LookAt高级版)
  18. 视频 | 马云:如果有天阿里不在了,我们也要为世界留下这三样
  19. 如何从pastebin粘贴一段代码到putt…
  20. 《黑客帝国》中的代码雨让人身临其境 利用Python轻松实现

热门文章

  1. Linux基础--存储管理(逻辑卷lvm,swap交换分区,mount,raid磁盘阵列)
  2. ajaxsubmit 的粗浅用法
  3. tongweb java_home_东方通 TongWeb安装(安装截图懒得放了)
  4. golang string(fid)与strconv.Itoa(fid)
  5. psp 6.61降级到_将电视挤到您的PSP上
  6. 【已解决】ansible 命令报错 Error -5 while decompressing data: incomplete or truncated stream
  7. SlickEdit V21 2016 破解教程,win linux mac
  8. Axure RP9基本用法总结
  9. [树莓派]PICO基础使用_微雪OLED显示
  10. GG平面图和RNG平面图的matlab实现