第一部分:price_history表

# 建表语句

CREATE TABLE IF NOT EXISTS `price_history` (
`regionID` INT NOT NULL,
`typeID` INT NOT NULL,
`date` DATE NOT NULL,
`lowPrice` DOUBLE NOT NULL,
`highPrice` DOUBLE NOT NULL,
`avgPrice` DOUBLE NOT NULL,
`volume` INT NOT NULL,
`orders` INT NOT NULL
COMMENT 'regionID,typeID,date,lowPrice,highPrice,avgPrice,volume,orders',
INDEX `regionID`(`regionID`),
INDEX `typeID`(`typeID`),
INDEX `date`(`date`),
INDEX `lowPrice`(`lowPrice`),
INDEX `highPrice`(`highPrice`),
INDEX `avgPrice`(`avgPrice`),
INDEX `volume`(`volume`),
INDEX `orders`(`orders`)
)
ENGINE = InnoDB
DEFAULT CHARSET = UTF8MB4;

考虑到price字段使用FLOAT/DOUBLE类型会有精度问题(FLOAT 4个字节,有效数字6位;DOUBLE 8个字节,有效数字16位。)

# 优化以后的建表语句,关于DECIMAL请参见 https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.html

CREATE TABLE IF NOT EXISTS `price_history` (
`regionID` INT NOT NULL,
`typeID` INT NOT NULL,
`date` DATE NOT NULL,
`lowPrice` DECIMAL(17, 4) NOT NULL,
`highPrice` DECIMAL(17, 4) NOT NULL,
`avgPrice` DECIMAL(17, 4) NOT NULL
COMMENT 'The max(highPrice) is 700,000,000,000',
`volume` INT NOT NULL,
`orders` INT NOT NULL
COMMENT 'regionID,typeID,date,lowPrice,highPrice,avgPrice,volume,orders',
INDEX `regionID`(`regionID`),
INDEX `typeID`(`typeID`),
INDEX `date`(`date`),
INDEX `lowPrice`(`lowPrice`),
INDEX `highPrice`(`highPrice`),
INDEX `avgPrice`(`avgPrice`),
INDEX `volume`(`volume`),
INDEX `orders`(`orders`)
)
ENGINE = InnoDB
DEFAULT CHARSET = UTF8MB4;

接下来进行数据的导入,表空间占用累计为70223M。

# 数据导入
LOAD DATA LOCAL INFILE '/root/priceHistory.txt' INTO TABLE price_history FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'; MySQL [eveonline_price]> LOAD DATA LOCAL INFILE '/root/priceHistory.txt' INTO TABLE price_history FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
Query OK, 269257439 rows affected, 14686 warnings (5 hours 25 min 41.31 sec)
Records: 269257439 Deleted: 0 Skipped: 0 Warnings: 14686

第二部分:typeid表

首先,从网上下载比较新的typeID文件,然后进行适当的处理:首先去掉第一和第二行,然后将空格分割的文件进行处理,以逗号进行分割。

# 下载下来的文件保存为download.txt,处理后文件保存为typeID.txt
with open('typeID.txt', mode='w', encoding="UTF-8") as out: for line in open('download.txt', mode='r', encoding="UTF-8"): line = re.sub(r'\s+', ' ', line).split()
key= line[0]
name = ' '.join(line[1:]) out.write(key + ',' + name + "\n")

建立typeid表

# MySQL数据库字段支持大小写,但是底层一律转换成小写(typeID和typeid是同一字段)

CREATE TABLE IF NOT EXISTS `typeid` (
`typeID` MEDIUMINT PRIMARY KEY,
`typeName` VARCHAR(90) NOT NULL,
INDEX `typeName`(`typeName`)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = UTF8MB4;

经过对文件的读取判断,typeName字段最长为78个字符,这里留90字符作为保留量。接下来进行数据的导入,

LOAD DATA LOCAL INFILE '/root/typeID.txt' INTO TABLE typeid FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';

Importing market data into Excel,如何将市场数据导入Excel

USING ESI WITH GOOGLE SHEETS,将ESI和Google Sheets配合使用

Marketplace,CCP官方论坛交易市场

EVE Online Intelligence Data,Tools and data you need to succeed in EVE Online

EVE Trade,暂时不知道做什么用

EVE Online price history download link,大小

Development Blog,开发者日志

MySQL部分知识:

EVE Online Third Party Development的更多相关文章

  1. Beginners Guide To Web Development

    Web Development Front End Development Back End Development

  2. iOS---The maximum number of apps for free development profiles has been reached.

    真机调试免费App ID出现的问题The maximum number of apps for free development profiles has been reached.免费应用程序调试最 ...

  3. [转] Agile Software Development 敏捷软件开发

    原文作者:kkun 原文地址:http://www.cnblogs.com/kkun/archive/2011/07/06/agile_software_development.html 敏捷是什么 ...

  4. 《3D Math Primer for Graphics and Game Development》读书笔记2

    <3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...

  5. 《3D Math Primer for Graphics and Game Development》读书笔记1

    <3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...

  6. 软件开发流程 Software development process

    软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法.软件的总体结构设计和模块设计.编程和调试.程序联调和测试以 ...

  7. 翻译:常见问题——ABAP Development Tools for Eclipse

    ABAP Development Tools for Eclipse(简称ADT)是一个基于Eclipse的全新ABAP IDE,这篇文档试图回答有关ADT的最重要的常见问题.这只是一个开始,如果你对 ...

  8. React Native 红屏之Could not connect to development server.

    React Native 是目前最火的开发框架,其他不说了,上Bug. 按照  React Native iOS环境搭建 高级版 在mac上  搭建 React Native  环境,运行 项目 若出 ...

  9. Microsoft Client Development MVP 2013 - 2014

    周末一直沉浸在醉意中,为婚礼忙忙碌碌了一个月,终于完成了人生一大喜事. 清晨仍旧有一些宿醉得感觉, 看到来自微软的邮件,获得Microsoft Client Development MVP 2013 ...

随机推荐

  1. hadoop2.7的目录结构

    1.$HADOOP_HOME/bin目录下文件及作用 文件名称 说明 hadoop 用于执行hadoop脚本命令,被hadoop-daemon.sh调用执行,也可以单独执行,一切命令的核心 2.$HA ...

  2. Android之内存泄漏

    开篇之前,我们要先理解:什么是内存泄漏.百度百科:内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等 ...

  3. 全网最详细的用pip安装****模块报错:Could not find a version that satisfies the requirement ****(from version:) No matching distribution found for ****的解决办法(图文详解)

    不多说,直接上干货! 问题详情 这个问题,很普遍.如我这里想实现,Windows下Anaconda2 / Anaconda3里正确下载安装用来向微信好友发送消息的itchat库. 见,我撰写的 全网最 ...

  4. filebeat-2-通过kafka队列链接logstash

    filebeat 直接到logstash, 由于logstash的设计问题, 可能会出现阻塞问题, 因为中间使用消息队列分开 可以使用redis, 或者kafka, 这儿使用的是kafka 1, 安装 ...

  5. Andrew Ng机器学习课程笔记(三)之正则化

    Andrew Ng机器学习课程笔记(三)之正则化 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365475.html 前言 ...

  6. CentOS 7下搭配简单的C语言开发环境

    在CentOS 7下安装gcc,gcc是编译和运行C语言的工具, 安装命令: yum install gcc 中途如果有询问则输入y 安装成功后,通过以下命令 gcc --version 来查看安装的 ...

  7. JavaScript事件-this传递

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  8. 文档对象模型DOM(一)

    当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. HTML DOM 树 每加载一个标记 注释 或者属性,就将其当 ...

  9. java 正则例子

    1.不易开头.结尾:小数:圆角字符 包含数字.字母.圆角字符 不以<br/>开头.结尾,但中间可以存在 小数中的小数点是半角 正则表达式 "^(?!<br/>)(([ ...

  10. Python面向对象基础一

    公司可能过一两个月就要从深圳搬到东莞松山湖,项目组的现在有的在转Java或其他语言的,问我们要不要转java+hoodap+spark方向,我还是先不转,毕竟之前是从ios转回C#,这现在在转其他的那 ...