四 项目开发

1 创建数据库db_etl,新建两张表user 和oder。表结构如第一部分图所示。

2 编写python脚本,实现自动向mysql中插入数据。

新建python 项目,目录结构如下图

编写代码如下:

# _*_ coding:UTF- _*_
'''
Created on 2016年12月1日 @author: duking
'''
import MySQLdb
import random,string
import time
import threading
'''
数据库连接
'''
def ConnMysql():
#连接数据库
conn = MySQLdb.connect(host = "192.168.0.154", user = 'root', passwd = '', db = 'db_etl', charset = 'utf8')
cursor = conn.cursor()
return conn,cursor '''
插入user数据
'''
def AddUserInfo(username,passwd): conn,cursor = ConnMysql() sql = "insert into userinfo(username,passwd) values(%s,%s)" param = (username,passwd) cursor.execute(sql,param) conn.commit()
cursor.close()
conn.close() '''
插入order数据
'''
def AddOderInfo(warename,price): conn,cursor = ConnMysql() sql = "insert into oderinfo(warename,price) values(%s,%s)" param = (warename,price) cursor.execute(sql,param) conn.commit()
cursor.close()
conn.close() '''
随机产生字符串
'''
def Random_Str(randomlength):
a = list(string.ascii_letters)
random.shuffle(a)
return ''.join(a[:randomlength]) #随机生成订单信息
def MakeOderInfo(threadname):
while(True):
#随机10~100秒生成一条Oder信息
time.sleep(random.randint(,))
AddOderInfo(Random_Str(random.randint(,)),float(round(random.uniform(,),)))
print threadname + ':a new OderInfo is Maked ' + time.ctime(time.time()) #随机生成用户信息
def MakeUserInfo(threadname):
while(True):
time.sleep(random.randint(,))
AddUserInfo(Random_Str(random.randint(,)),Random_Str(random.randint(,)))
print threadname + ':a new UserInfo is Maked ' +time.ctime(time.time()) #python 模块的入口:main函数
if __name__ == '__main__': #多线程
thread_1 = threading.Thread(target=MakeOderInfo,args=('thread_1', ))
thread_2 = threading.Thread(target=MakeUserInfo,args=('thread_2', )) #启动线程
thread_1.start()
thread_2.start()

注意:python调用mysql需要引入MySQLdb模块,改模块的安装请看另外的教程

最后,将写好的python在linux中运行。

运行后查看数据库就可以看见数据在不断的增长了。

hadoop项目实战--ETL--(二)实现自动向mysql中添加数据的更多相关文章

  1. Hadoop项目实战-用户行为分析之应用概述(二)

    1.概述 本课程的视频教程地址:<项目整体概述> 本节给大家分享的主题如下图所示: 下面我开始为大家分享第二节的内容——<项目整体概述>,下面开始今天的分享内容. 2.内容 从 ...

  2. 【慕课网实战】Spark Streaming实时流处理项目实战笔记二十一之铭文升级版

    铭文一级: DataV功能说明1)点击量分省排名/运营商访问占比 Spark SQL项目实战课程: 通过IP就能解析到省份.城市.运营商 2)浏览器访问占比/操作系统占比 Hadoop项目:userA ...

  3. Hadoop项目实战-用户行为分析之应用概述(三)

    1.概述 本课程的视频教程地址:<项目工程准备> 本节给大家分享的主题如下图所示: 下面我开始为大家分享今天的第三节的内容——<项目工程准备>,接下来开始分享今天的内容. 2. ...

  4. Hadoop项目实战-用户行为分析之应用概述(一)

    1.概述 本课程的视频教程地址:<Hadoop 回顾> 好的,下面就开始本篇教程的内容分享,本篇教程我为大家介绍我们要做一个什么样的Hadoop项目,并且对Hadoop项目的基本特点和其中 ...

  5. Selenium Web 自动化 - 项目实战(二)

    Selenium Web 自动化 - 项目实战(二) 2016-08-08 什么是数据驱动?简答的理解就是测试数据决定了测试结果,这就是所谓数据驱动.数据驱动包含了数据,他就是测试数据,在自动化领域里 ...

  6. (转载)Android项目实战(二十七):数据交互(信息编辑)填写总结

    Android项目实战(二十七):数据交互(信息编辑)填写总结   前言: 项目中必定用到的数据填写需求.比如修改用户名的文字编辑对话框,修改生日的日期选择对话框等等.现总结一下,方便以后使用. 注: ...

  7. (转载)Android项目实战(二十八):Zxing二维码实现及优化

    Android项目实战(二十八):Zxing二维码实现及优化   前言: 多年之前接触过zxing实现二维码,没想到今日项目中再此使用竟然使用的还是zxing,百度之,竟是如此牛的玩意. 当然,项目中 ...

  8. (转载)Android项目实战(二十八):使用Zxing实现二维码及优化实例

    Android项目实战(二十八):使用Zxing实现二维码及优化实例 作者:听着music睡 字体:[增加 减小] 类型:转载 时间:2016-11-21我要评论 这篇文章主要介绍了Android项目 ...

  9. ligerui_实际项目_003:form中添加数据,表格(grid)里面显示,最后将表格(grid)里的数据提交到servlet

    实现效果: "Form"中填写数据,向本页"Grid"中添加数据,转换成Json数据提交,计算总和,Grid文本框可编辑,排序 图片效果: 总结: //disp ...

随机推荐

  1. Python--格式化输出%s和%d

    https://www.cnblogs.com/claidx/p/7253288.html pythn print格式化输出. %r 用来做 debug 比较好,因为它会显示变量的原始数据(raw d ...

  2. Windows 下配置 php_imagick 扩展

    1.首先按装 imageimagick 可以去 http://imagemagick.org/script/binary-releases.php#windows 这里下载,看好自己的系统环境和选择好 ...

  3. 并发编程&数据库 - 考核题

    第八章主要内容 第八章:线程.进程.队列.IO多路模型 操作系统工作原理介绍.线程.进程演化史.特点.区别.互斥锁.信号.事件.join.GIL.进程间通信.管道.队列. 生产者消息者模型.异步模型. ...

  4. 汉诺塔IV---hdu2077

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2077 #include <stdio.h> #include <stdlib.h&g ...

  5. Android在使用WebView时,通过Javascript调用JAVA函数

    webView = (WebView) findViewById(R.id.article_webview); //WebView启用Javascript脚本运行 webView.getSetting ...

  6. Android ListView工作原理完全解析(转自 郭霖老师博客)

    原文地址:http://blog.csdn.net/guolin_blog/article/details/44996879 在Android所有常用的原生控件当中,用法最复杂的应该就是ListVie ...

  7. MyBatis3用户指南

    1. 范围和生命周期     SqlSessionFactoryBuilder -->SqlSessionFactory-->SqlSession-->Mapper 实例 SqlSe ...

  8. 不再依赖A*,利用C++编写全新寻路算法

    一,说在前面的话 大概在半年前,看见一到信息竞赛题:在任意方格阵中设置障碍物,确定起始点后,求这两点之间路径.当时觉得蛮有意思的,但是没有时间去做,今天花了两个小时来实现它.据说有一个更高级的寻路算法 ...

  9. php about session store db or cache

    PHP关于Session的配置: 在php.ini中配置为:session.name = PHPSESSID 在请求开始的时候,会话名称会被重置并存储到session.name配置项. 所以要想在不改 ...

  10. Java 利用监听器来实现记录用户访问网站次数

    假如有这么一个需求,要记录所有用户访问某一页面的次数. 最先想到的可能是在该Controller定义一个静态成员,然后在相应Action里自增.但这样有一个问题,就是Tomcat或者其他服务器重启的话 ...