1 Star 0 Fork 0

mphyatyh/script

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
1. 调试环境准备
1.1. 数据和用户
    - 在Linux环境下创建一个dbuser用户,所有数据库操作,都用这个用户进行。
    - 链接PostgreSQL的用户命是:dbuser,密码是:password,数据库名字是exampledb,
      命令行如下:
	    psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432

1.1. 在Linux用户dbuser的home目录下,有如下几个文件
	dbuser@hy:~/script$ ls .. -lh
	total 2.3G
	-rw-r--r-- 1 dbuser dbuser 2.3G Oct 18 21:36 pubmed24n.ndjson     -- 这个题目给出的数据文件
	drwxr-xr-x 5 dbuser dbuser 4.0K Oct 19 18:51 script               -- 这个就是本目录,也就是这些源码所在的目录

2. 源码文件说明
2.1. 源码目录
	dbuser@hy:~/script$ ls -lah
	total 88K
	drwxr-xr-x 5 dbuser dbuser 4.0K Oct 19 18:58 .
	drwxr-xr-x 3 dbuser dbuser 4.0K Oct 19 18:58 ..
	-rwxr-xr-x 1 dbuser dbuser  222 Oct 19 17:32 c.sh -- 这个用来编译所有java源码
	drwxrwxr-x 2 dbuser dbuser 4.0K Oct 19 18:50 ddl  -- 这里面是创建PostgreSQL数据库表文件的脚本
	drwxrwxr-x 2 dbuser dbuser 4.0K Oct 19 21:01 fastjson -- 这个目录里面存放fastjson的jar包文件,这个是一个第三方组件,用来解析json字符串
	-rw-r--r-- 1 dbuser dbuser  921 Oct 19 18:15 GenImportSQL.java -- 这个是把pubmed24n.ndjson数据转换成SQL insert脚本的主程序
	-rwxrwxr-x 1 dbuser dbuser   75 Oct 19 18:08 ins.sh  -- 这个用来执行ins.sql脚本,把数据插入PostgreSQL数据库的shell脚本
	-rw-rw-r-- 1 dbuser dbuser  36K Oct 19 18:51 ins.sql -- 这个是转换之后的SQL脚本
	drwxr-xr-x 2 dbuser dbuser 4.0K Oct 19 18:41 jd      -- 这个里面是转换ins.sql脚本需要的一些java子类
	-rwxrwxr-x 1 dbuser dbuser   64 Oct 19 18:20 psql.sh -- 这个是进入psql命令行的脚本
	-rw-rw-r-- 1 dbuser dbuser  804 Oct 19 18:58 readme.txt -- 本文件
	-rwxr-xr-x 1 dbuser dbuser   74 Oct 19 18:51 r.sh    -- 运行GenImportSQL.class的shell脚本
	-rwxr-xr-x 1 dbuser dbuser   75 Oct 19 18:26 v.sh    -- 这个是启动vim的shell脚本

3. 优化过程
3.1. 第1阶段,分成两个步骤。
     第一步,用java程序把.ndjson数据文件转换成SQL的插入脚本。
     第二步,用psql执行sql插入脚本,把数据插入数据库。
3.2. 第2阶段,把上面两个步骤,合并成一个步骤。
	java程序直接链接PostgreSQL服务器,把生成SQL语句直接发给服务器执行。
	去掉写SQL文件的环节,也省掉了再从文件导入服务器的环节。
3.3. 第3阶段,用多线程来解析ndjson文件。
	每个线程负责解析文件中的一段。

(结束)

空文件

简介

某个学校的数据库作业 展开 收起
Java 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mphyatyh/script.git
[email protected]:mphyatyh/script.git
mphyatyh
script
script
master

搜索帮助