扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在使用PhpMyAdmin的时候经常用到数据的导入和导出(Export/Import),但是在导入大数据的时候由于php上传文件的限制和脚本响应时间的限制,导致phpMyAdmin无法导入大数据。很多时候都是由于文件过大,从本地浏览上传导入,容易中断失败,有没有更好的方法呢?
创新互联服务项目包括蒸湘网站建设、蒸湘网站制作、蒸湘网页制作以及蒸湘网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,蒸湘网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到蒸湘省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
方法:
在phpMyAdmin的目录下,找到根目录的config.inc.php文件,
打开config.inc.php文件,查找$cfg['UploadDir'],这个参数就是设定导入文件存放的目录,这里把值设定为:ImportSQLFile。
在phpMyAdmin目录下,建立以ImportSQLFile命名的文件夹,
把我们需要导入的数据文件,放到ImportSQLFile文件夹下面,非常简单,
登入phpMyAdmin,选择需要导入的数据,点击导航条上面的“导入”按钮,
选中“从网站服务器上传文件夹ImportSQLFile/中选择:”选项,并需要导入的数据文件,
最后点击“执行”,即可导入成功。
注意事项
如果在config.inc.php文件,没有找到$cfg['UploadDir'],可以自己在文件中添加上去即可。
大数据图表分析的工具其实有很多,关键要看题主的是在什么样的业务场景下。
一般情况下,Excel就可以满足日常的使用需求,当然前提在于你对Excel足够熟练。
当然,如果你懂代码,可以用:Echarts ,如果你懂设计,可以用:Ai。这些都可以做大数据图表分析出来。
可是从题主的描述中,我看到两个关键词:数据积累多、领导看。
这就注定了Excel很难担此重任。所以在制作统计图表方面,你可能就需要使用一些更为灵活的软件。
作为业务人员或者分析师,你可能需要用到商业智能类的软件,比如:永洪BI
对于BI类产品来说,进行大数据图表分析简直就是小菜一碟,而永洪BI在国内的厂商中应该是做的最好的了。
进行大数据图表分析的时候,只需要把数据导入产品中,通过拖拖拽拽就可以生成统计图表了,而且完全不用担心数据量大的问题。
以下是几张有代表性的:
使用BI软件可以解决统计图表制作的问题,但是大数据图表分析的过程中,如何让图表表达更清楚的含义,有以下几个原则可以借鉴:
越简单越好,专注于表达核心信息;
在需要表达细节的时候,可以放更多的信息;
差异越大越好,这样会使得你的统计图表更明显,易于理解;
大数据的话可以进行以下操作:
减少对数据库的读取,也就是减少调用数据库,
进行数据缓存,
利用数据库的自身优化技术,如索引等
精确查询条件,有利于提高查找速度
我是想学PHP 不知道怎么样?
====================
个人推荐你学ASP.NET,JAVA也可以看看。这绝对是趋势!好像PHP替代原始的CGI编程一样。下面具体回答:
而且现在都有PHP 5了!
====================
目前来看,大学里教的都是.NET和JAVA,这也证明了主流语言是什么。上学的时候,我们学Java, .NET但我发现诸如Yahoo,Facebook,味及败科这样的大型网站无疑都采用Linux+PHP,百度也是。他们虽然也有自己的服务器,不过相信PHP还是他们后台的主流。所以我一直很想学PHP。学习PHP时,发现出奇的容易,语法、结构、Object-Oriented都相当容易,但是真正在公司开发的时候,才发现,因为PHP功能的局限性,代码很冗长。后来听说PHP有些Framework,囊括许多功能、设计方案等,如CakePHP, Symfony,但发现,他们并没有Java, .NET的功能强大。
哦 有PHP6了?
====================
没有,去官方网站看,6.0.0还在开发中。或者看下这个:未来PHP发展趋势:
跟ASP.NET JSP相比,PHP比他们有哪些优势?
====================
1. 如果你要用Shared Hosting Server,也就是共享空间服务器,那么PHP空间是又多又便宜!
2. 如果你开发的是小项目,只需要一点点逻辑,那PHP又简单又快。但如果你要处理打数据量,大报告,那PHP就不如.NET了
3. PHP比ASP.NET强在多平台,支持Unix家族的系统,但听说.NET马上也要开发一个能在LINUX上的版本。Java十多年来一直都跨平台。
4. 如果你是初学者,那么PHP应该是最简单的。不过,很不利于你对编程思想Object-Oriented的认识。
5. PHP又很多免费开发工具,本身是用C些的,好多open source的plugin。.NET很多插件如图表、Web 2.0 GUI等都是付费的。不过PHP免费的居多,但丰富程度差的太远,看看ASP.NET官网的Control Gallery就很清楚Java和PHP的丰富度了。
除了这些PHP真没什么优点。
在各个方面有没有可以完全替代PHP的语言?
====================
确切的说.NET可以完全替代PHP,Java也可以完全替代。下面比较3者 (每项按排名):
1. Java可以夸Windows, Linux, Solaris,PHP也可以跨平台,.NET目前只能在Windows上 (不过目前,大公司内部用的都是Windows,除非是校内雅虎这样的大网站)
2. .NET有visual studio这个超级强大的开发工具(免费版也强大),Java有JBuilder, JDeveloper还有Eclipse, NetBeans这样的高拓展性可用插件工具,PHP有Eclipse, NetBeans,Zend Studio这些要差很多 (这大大影响了PHP开发效率)
3. Framework上,Java很多免费的如最流行的Struts,还有据说能替代EJB的Spring,还有模仿ASP.NET的JSF,.NET上有默认的WebForm模式,也有模仿Struts的.NET MVC,PHP的那些小东西就差很多了
4. 对于多层架构Web Service,有visual studio pro开发工具的.NET比Java的EJB, Spring有压倒性优势,开发超级方便,运行速度快,Java, .NET的这项功能已经超过5年了,而目前PHP无此功能,PHP6要加入对XML Web Service的支持,不过相信方便、运行效率、功能上都差的远
5. 对于网站Web2.0前端的支持,ASP.NET可以用传统方法做AJAX,但.NET众多如update panel的Ajax控件无疑大大提高开发效率,Java的JSF目前有Richfaces,JSP还有许多专门给Java的Ajax Framework,PHP的Symfony目前也支持AJAX,三者都可使用JQuery, Dojo,GWT等,此方面基本持平,.NET的AJAX控件能方便些
6. Object-Oriented上,JAVA无疑是最标准的设计,.NET的C#或VB在语言上比JAVA更方便,而PHP是最不遵守规则的,是原始的非pre-compile的script(虽然zend engine说PHP5已经是pre-compile,但相信和真正的编译是不一样的)。
7. Component-based上,ASP.NET可以使用内置控件,也可以自己开发控件做成.dll(在官网上有许多网友制作的精美控件),这绝对是很强大的概念,比JSP的custom tag要高级的多,PHP连custom tag都没有,更别说控件了。
8. class library上,虽然Java的JDK,Java EE SDK都是SUN出的,可是数量上可能只是.NET library的十分之一,不过因为Java语言开放所以有Apache, IBM这样强大的公司支持(Apache的Log4j,FileUpload,Struts,IBM的WebSphere,Cognos,JBoss),也弥补了SUN的不足。PHP就不说了,跟.NET比,PHP的PHP Function List总共也没多少东西,全是global function,没有点像样的object-oriented
9. 执行速度上,.NET在Windows 和Linux上的JAVA不好比较,很多人做测试,可能.net略强。百度一位网友做过测试,PHP各项极限速度测试中要比JAVA慢10倍。
10. ADOBE FLEX可以制作AJAX的RIA,需要客户端有安装FLASH Player。但是对此.NET有silverlight,因为windows是主流,所以以后silverlight肯定是预先安装的,Java有个Java FX,不过刚刚出,不知道怎么样。在Flash, Ajax,AciveX相结合上,PHP为0
11. 对于大数据处理上,公司内部可能会经常要大报告,大图表等。数据上.NET的ADO.NET相当强大,LINQ更是强大中的更强大!(ADO+DataSourceControl+DataGridView不用写代码页能处理数据库,LinQ强大到使用这语言能以相同的方式处理、过滤XML,Collection,Array,Database),虽然JAVA没有LinQ的半点概念,而Java的open source的hibernate也可以很方便(不用写SQL,写点XML和JAVA就能自动创建、修改database),PHP目前都是原始的像ODBC的data access。
12. 对于大数据的显示上,.NET的内置crystal report首屈一指,更有无数第3方的charting control,而Java这也能用Crystal Report,PHP这方面就不行了,需要调用C语言里的组件(非PHP默认runtime能用的,要插件)来调用crystal report。
13. 前景上,cloud computing, data center等等的概念上,.NET绝对引领潮流,LINQ,MVC等概念都决定了以后的发展方向。
PHP的潜力还有多大?
==================
还会持续被老牌大网站使用几年。但目前,新开发的大银行,大社交网站都是JAVA的。但公司内部的现在没人会选用PHP,开发效率慢。JAVA的成本跟PHP差不多,功能强大的多。.NET对大公司不算贵,而且功能出奇强大。
看价格就知道了,.NET的开发工具,library等要比JAVA贵的多,(PHP的几乎都免费)为什么还是那么多人买微软的.NET类产品?因为他好啊!就像买牛仔裤一样买Levi's的那么贵,做工款式就是好。
1、建议你读写数据和下载图片分开,各用不同的进程完成。
比如说,取数据用get-data.php,下载图片用get-image.php。
2、多进程的话,php可以简单的用pcntl_fork()。这样可以并发多个子进程。
但是我不建议你用fork,我建议你安装一个gearman worker。这样你要并发几个,就启几个worker,写代码简单,根本不用在代码里考虑thread啊,process等等。
3、综上,解决方案这样:
(1)安装gearman worker。
(2)写一个get-data.php,在crontab里设置它每5分钟执行一次,只负责读数据,然后把读回来的数据一条一条的扔到 gearman worker的队列里;
然后再写一个处理数据的脚本作为worker,例如叫process-data.php,这个脚本常驻内存。它作为worker从geraman 队列里读出一条一条的数据,然后跟你的数据库老数据比较,进行你的业务逻辑。如果你要10个并发,那就启动10个process-data.php好了。处理完后,如果图片地址有变动需要下载图片,就把图片地址扔到 gearman worker的另一个队列里。
(3)再写一个download-data.php,作为下载图片的worker,同样,你启动10个20个并发随便你。这个进程也常驻内存运行,从gearman worker的图片数据队列里取数据出来,下载图片
4、常驻进程的话,就是在代码里写个while(true)死循环,让它一直运行好了。如果怕内存泄露啥的,你可以每循环10万次退出一下。然后在crontab里设置,每分钟检查一下进程有没有启动,比如说这样启动3个process-data worker进程:
* * * * * flock -xn /tmp/process-data.1.lock -c '/usr/bin/php /process-data.php /dev/null 21'
* * * * * flock -xn /tmp/process-data.2.lock -c '/usr/bin/php /process-data.php /dev/null 21'
* * * * * flock -xn /tmp/process-data.3.lock -c '/usr/bin/php /process-data.php /dev/null 21'
不知道你明白了没有
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流