Mac上TPC-H数据导入postgresql教程

    xiaoxiao2021-04-15  36

    Mac上TPC-H数据导入postgresql教程

    Mac上TPC-H数据导入postgresql教程 环境安装创建数据库导入数据


    环境

    软件版本号MacOX10.12.2 (16C68)Postgre9.6.2

    安装

    安装postgre 1) 终端命令:brew install postgresql -v 2) 若出现Error: Cannot write to /usr/local/Cellar 可以输入以下命令进行解决 sudo chown -R $USER /usr/local下载dbgen 1)链接:https://github.com/electrum/tpch-dbgen 2)修改makefile.suite的103~112行 CC = GCC # Current values for DATABASE are: INFORMIX, DB2, TDAT (Teradata) # SQLSERVER, SYBASE, ORACLE # Current values for MACHINE are: ATT, DOS, HP, IBM, ICL, MVS, # SGI, SUN, U2200, VMS, LINUX, WIN32 # Current values for WORKLOAD are: TPCH DATABASE= SQLSERVER MACHINE = LINUX WORKLOAD = TPCH

    3)在终端访问至该文件的根目录,输入make 4)在终端输入命令:./dbgen -s 1 -f 生成8个.tbl文件

    创建数据库

    启动PostgreSQl pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start关闭 PostgreSQL pg_ctl -D /usr/local/var/postgres stop -s -m fast用superuser登录数据库,template1表示没有要连的数据库 psql -U username -d template1创建一个PostgreSQL用户 createuser username -P给新创建的用户superuser的权限(为了之后能将.tbl里的文件copy到数据库中) alter user username superuser;为新用户创建数据库 createdb dbname -O username -E UTF8 -e连接数据库 psql -U username -d dbname -h 127.0.0.1

    导入数据

    创建表,tpc-h表的模式存储在dss.dll的文件上,拷贝并执行命令\dt查看8张表是否创建成功 数据预处理 dbgen生成的tbl文件需要修改,将每一行最后一个‘|’去掉,才能导入postgre。PostgreSQL requires that the delimiter should not appear at the end of every line. 预处理程序下载:https://github.com/babyLiyuan/TPC-H/blob/master/ProcessTblFile.java public ProcessTblFile(Scanner in) { String line = ""; while(in.hasNextLine()){ line = in.nextLine(); StringBuilder newLine = new StringBuilder(line); int len = newLine.length(); if(newLine.charAt(len-1)=='|'){ newLine.deleteCharAt(len-1); } System.out.println(newLine.toString()); } } 导入数据 copy nation from ‘/Users/babyLiyuan/Documents/workspace/Postgre/files/nation1.tbl’ with delimiter as ‘|’; 添加外键、主键 1)修改tpch-dbgen文件夹中的dss.ri 2)psql -f 文件路径 数据库名称 psql -f /Users/babyLiyuan/Desktop/tpch-dbgen-master/dss.ri dbname以上步骤建议使用脚本批量执行 1)导入数据importData.txt 脚本下载: https://github.com/babyLiyuan/TPC-H/blob/master/importData.txt 脚本执行: psql –host=localhost –dbname=dbname –username=username –file=importData.txt –output=output.txt 2)添加外键、主键addKey.txt 脚本下载: https://github.com/babyLiyuan/TPC-H/blob/master/addKey.txt 脚本执行: psql –host=localhost –dbname=dbname –username=username –file=addKey.txt –output=output2.txt

    参考博文:http://blog.csdn.net/zhoujl25/article/details/51067230


    转载请注明原文地址: https://ju.6miu.com/read-671527.html

    最新回复(0)