一、引言
Mondrian, 蒙得里安·皮特1872-1944荷兰画家,作品以交错的三原色为基色的垂直线条和平面为特点,他的著作包括 新造型主义(1920年),对抽象艺术的发展曾经产生很深影响。——金山词霸如是说。
不过,本文所要讨论的可不是这位艺术家。那到底mondrian是什么呢?
Mondrian是一个开源项目。一个用Java写成的OLAP(在线分析性处理)引擎。它用MDX语言实现查询,从关系数据库(RDBMS)中读取数据。然后经过Java API用多维的方式对结果进行展示。 我们都知道,在线分析处理(OLAP)要实时地分析大量数据。“online”这个词的含义就是即使相关的数据量是巨大的——可能以GB为单位——系统也要足够快的响应以显示结果。 OLAP用了多维分析的技术。尽管关系型数据库所存储的所有数据都是以行和列的形式存在的,但一个多维数据集还是可以由轴(axes)和单元(cell)组成。 在上面的例子中,时间是个维度(dimension),而它下面的层次(Hierarchies)又分为半年、季度等级别(Level)。 二、感性认识——运行一个小实例
我们暂时先不讨论Mondrian所用到的一些技术。我们可以先从一个小例子开始,不必在意每个细节,只是希望大家有个感性认识先。在实施这个例子的过程中,或许读者就能见些端倪。 首先应该到http://sourceforge.net/projects/mondrian/下载mondrian的最新版本。这是一个zip包,包括我们要用到的lib和一个例子。 当然,读者完全可以运行mondrian自带的实例,不过这个例子有些纷繁复杂,除了Mondrian本身还有其它技术在里面,不大容易讲清楚,也不太适合初学者学习。所以,笔者在这里设计一个简洁干净的最小化实例。 本文所阐述的实例环境是Windows2000+Tomcat+Oracle。并且认为读者已经针对jdk和Tomcat做了正确的开发环境的设置。 2.1准备工作
将pentaho/mondrian/lib下的mondrian.war解压后放到%Tomcat%/webapp/下面
2.2数据库结构
在这个tiny的系统中,数据库有3个表tb_employee(职员表),tb_time(时间表),tb_salary(薪酬表)。表结构如下: drop table tb_employee; create table tb_employee ( employee_id number, --职员id employee_name varchar2(10) --职员姓名 );
drop table tb_time; create table tb_time ( time_id number, --时间id the_year char(4), --年 the_month char(2) --月 );
drop table tb_salary; create table tb_salary ( employee_id number, --职员id time_id number, --时间id salary number(19,4) --薪酬 );
当然,为了使系统能够运行,还需要读者向数据库表中插入一些数据。
insert into tb_employee(employee_id,employee_name)values(001,'娅娅'); insert into tb_time(time_id,the_year,the_month)values(1,'2011','05'); insert into tb_salary(employee_id,time_id,salary)values(001,'1','5000');
insert into tb_employee(employee_id,employee_name)values(002,'梅梅'); insert into tb_time(time_id,the_year,the_month)values(2,'2011','04'); insert into tb_salary(employee_id,time_id,salary)values(002,'2','10000');
insert into tb_employee(employee_id,employee_name)values(002,'芳芳'); insert into tb_time(time_id,the_year,the_month)values(3,'2011','04'); insert into tb_salary(employee_id,time_id,salary)values(003,'3','10000'); 2.3根据数据库表的结构,书写schema文件
文件路径为mywebapp/WEB-INF/test.xml 2.4利用MDX查询 mywebapp/test.jsp <%@ page import="mondrian.olap.*"%> <%@ page import="java.io.PrintWriter" %> <% Connection connection = DriverManager.getConnection("Provider=mondrian;Jdbc=jdbc:oracle:thin:hibuser/password@localhost:1521:orcl; Catalog=file:///F:/pentaho/biserver-ce/tomcat/webapps/mondrian/WEB-INF/queries/test1.xml; JdbcDrivers=oracle.jdbc.driver.OracleDriver;",null); String queryStr="select {[Measures].[Salary]} ON COLUMNS,{[Employee].[employeeId].Members} ON ROWS from CubeTest "; Query query =connection.parseQuery(queryStr); Result result = connection.execute(query); PrintWriter pw = new PrintWriter(System.out); result.print(pw); pw.flush(); System.out.println("successful!"); %>
2.5运行
这时启动tomcat,在浏览器地址栏中输入 http://localhost:8080/mondrian/test.jsp即可。 三、深入探讨
3.1 API
mondrian为客户端应用程序提供了API接口以进行查询。 而这些API对于任何用过JDBC的人都会觉得似曾相识的。主要的不同点是查询语言的不同:Mondrian用的是MDX('Multi-Dimensional eXpressions'),而JDBC则用的是SQL。
和JDBC一样,也是要经过建立连接,形成查询语句,执行查询得到结果集等几个步骤的。
我们来看看mondriantest.jsp的代码 第1行:import mondrian.olap.* 这是引入我们所需的类,下面要用到的DriverManager、Connection、Query、Result都在这个package内。这个package一般位于mondrian.jar中。 第2行:Connection connection = DriverManager.getConnection ("Provider=mondrian; Jdbc=jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:dbname; JdbcUser=dbuser; JdbcPassword=dbpasswd; Catalog=file:///c:/Tomcat4.1/webapps/mywebapp/WEB-INF/mondriantest.xml; JdbcDrivers=oracle.jdbc.driver.OracleDriver;",null,false); 通过DriverManager创建一个Connection的实例,建立起数据库连接。 其中Jdbc=jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:dbname; 是设置数据库的ip和库名。JdbcUser=dbuser; 设置数据库用户。JdbcPassword=dbpasswd; 设置用户密码。而 Catalog=file:///c:/Tomcat4.1/webapps/mywebapp/WEB-INF/mondriantest.xml; 就是设置MDX语句查询要对应的schema文件的路径 第3行:String queryStr= "select {[Measures].[Salary]} ON COLUMNS, {[Employee].[employeeId].Members} ON ROWS from CubeTest "; 形成MDX的查询语句。MDX语句的形式和schema文件的设定是密切相关的,当然schema文件的形成也是由数据库结构决定的。 第4行:Query query =connection.parseQuery(queryStr);对MDX语句进行分析处理,是否符合schema文件定义、数据库结构和数据库数据。 第5行:Result result = connection.execute(query);执行查询,得到结果集。 我们发现Query类似于JDBC的Statement,而Result则酷似于ResultSet。 3.2 schema
3.2.1什么是schema
schema定义了一个多维数据库。包含了一个逻辑模型,而这个逻辑模型的目的是为了书写MDX语言的查询语句。这个逻辑模型实际上提供了这几个概念:Cubes,维度(Dimensions), 层次(Hierarchies),级别(Levels),和成员(Members)。
而schema文件就是编辑这个schema的一个xml文件。在这个文件中形成逻辑模型和数据库物理模型的对应。
3.2.2 schema的逻辑结构
3.2.2.1 Cube
一个Cube是一系列维度(Dimension)和度量(Measure)的集合区域。在Cube中,Dimension和Measure的共同地方就是共用一个事实表。
例:
…….
标签确定了所用的事实表的表名。
3.2.2.2 Measure
一个度量,简单的说,就是要被计算的值。
例:
标签有3个必要的属性name(度量名),column(在事实表中的字段名), aggregation(聚合所用的方法)。
3.2.2.3 Dimenesion
而维度一般有其相对应的维度表。
例:
一般Dimesion包含层次(Hierarchy),而hierarchy是由级别(Level)组成。标签的foreignKey是事实表中的字段,标签的primaryKey是维度表中的字段,通过这种方式把事实表和维度表关联起来。标签下的标签就指明了维度表名。而若干个Level对应着维度表的若干字段。 3.3 MDX语言
MDX是为了查询多维数据的,而SQL是为了查询关系数据库的。而Mondrian所涉及到的一些MDX概念、MDX语法以及系统定义的MDX函数和微软的MDX十分接近,差别微小。完全可以参考微软的帮助文档进行学习。在此就不在赘述。 四、结语
Mondrian作为基于java的OLAP引擎,而且是开源的项目,为那些基于java的项目而要脱离微软构架但又不得不对大量数据进行分析的项目又提供了一种可行的方案。希望它也能象蒙得里安·皮特对抽象艺术的发展产生影响一样起到一定的作用。
你可能感兴趣的:(Mondrian)
mondrian+jpivot源码导入eclipse并配置数据源
郎岳樟
eclipse jdbc access string servlet 数据库
导入mondrian源码步骤如下:1)下载mondrian-3.0.0.10550和jpivot1.8.0,mondrian-3.0.0以后的版本和jpivot的源码整合不到一起.jpivot好久没更新了!!!!下载地址:http://mondrian.pentaho.com/2)在eclipse里新建个web工程,命名mondrian.3)解压mondrian-3.0.0.10550/mondr
皮特•蒙德里安
想瘦的胖砸
彼埃·蒙德里安(英文:PietCorneliesMondrian,1872年3月7日-1944年2月1日),荷兰画家,风格派运动幕后艺术家和非具象绘画的创始者之一,对后世的建筑、设计等影响很大。蒙德里安是几何抽象画派的先驱,以几何图形为绘画的基本元素,与德士堡等创立了“风格派”,提倡自己的艺术“新造型主义”。他还认为艺术应根本脱离自然的外在形式,以表现抽象精神为目的,追求人与神统一的绝对境界,也就
海牙市立博物馆-荷兰海牙-20180106
英天
我们于2018年1月6日参观了荷兰海牙省的海牙市立博物馆,内有大量荷兰现代派大师蒙德里安(Mondrian)的作品。爬行又像是婴儿,又像是猴子,是讲人怎样一步步进化的吗?海边海牙边的建筑,浑然天成海天一色顿感大自然的廖远宽阔壮大,海天一色的美景令人赞叹。海上冲帆好酷啊!摩天轮内部摩天轮上的夜景博物馆口奇怪的建筑萌萌哒猫头鹰穿山甲猴子的飞吻点歌机我们端详了好久都没想到是什么,后来才看明白,原来是点歌
在Java Web项目中引入Mondrian多维分析框架
不知道方向只知道前行
java 大数据 MDX Mondrian框架 java
本文完全转载自:http://www.linuxidc.com/Linux/2014-09/107008.htm我也是初学,为了方便以后查看,所以转到自己博客上了。----------------------------------------------------------------------------------一,Mondrian简介Mondrian是一个开源项目,一个用Java写
彼埃·蒙德里安
爱吃草莓的乖兔子
皮特·科内利斯·蒙德里安(英文:PietCorneliesMondrian,1872年3月7日-1944年2月1日),荷兰画家,风格派运动幕后艺术家和非具象绘画的创始者之一,对后世的建筑、设计等影响很大。蒙德里安是几何抽象画派的先驱,以几何图形为绘画的基本元素,与杜斯堡等创立了“风格派”,提倡自己的艺术“新造型主义”。他还认为艺术应根本脱离自然的外在形式,以表现抽象精神为目的,追求人与神统一的绝对
kylin套_Kylin正式发布:面向大数据的终极OLAP引擎方案
weixin_39842744
kylin套
《走近OLAP引擎--ApacheKylin》1、OLAP简介联机分析处理Molap百度百科tableauMondrian2、Kylin非常好的学习博客OLAP引擎——Kylin介绍3、Kylin基本常识Kylin百度百科Kylin正式发布:面向大数据的终极OLAP引擎方案大数据分析界的“神兽”ApacheKylin有多牛?渣外有渣之大数据OLAP平台KYLIN1.5.3(一)2019独角兽企业重
将您的SQL Server工作负载迁移到PostgreSQL –第3部分
寒冰屋
数据库 SQL Server PostgreSQL 迁移
目录实际迁移入门模式迁移迁移工具免费/开源工具ETL工具手动迁移模式数据迁移开源工具ETL工具手动迁移数据ETL/ELT注意事项TalendPentaho报表平台JasperReportsBIRTPentaho报表OLAP(分析)平台PentahoMondrianApacheKylin调度选项应用程序/服务迁移技术堆栈/组件/驱动程序(Java,.NET驱动程序)Java应用程序.NET应用程序实
2018-10-30
YAMI_1d00
PreparationSystemRequirementJava1.7orhigherMondrian(recommended)oranyotherXMLAbasedOLAPserverwhichissupportedbyOlap4J.MavenProjectSetupIfyou'reusingMaven,updateyourpom.xmlasbelow:4.0.0some-projectsome
MDX&Mondrian介绍
迷雾总会解
大数据 数据库 大数据 OLAP
文章目录MDXMDX数据库基本概念维度(Dimensions)、级别(Levels)、成员(Members)和度量值(Measures)轴维度和切片器维度单元(Cell)、元组(Tuple)和集合(Set)基本语法MDX与SQL的区别维度成员成员范围全部成员下级成员成员属性集合操作NONEMPTYCROSSJOINFILTERORDER计算成员命名集合主要函数Mondrian介绍表现层(thepr
etl-bigdata
NEO_X
从本文开始,将开始介绍针对大数据平台的ETL方法,并搭建相关的环境,构建两种数据仓库模型。更多信息查看:https://blue-shadow.top开源方案–Mondrian+其他的开源数据库商业方案–SQLServer等其他商业数据库大数据方案–Hadoop大数据环境其中会涉及到不同方案中使用的ETL工具,但以大数据平台为主,调度处理通过编写Python脚本执行。涉及两种数据仓库模型:多维分析
转租 - 草稿
杰妈_5415
因本人有事回国,现有2居室公寓转租。公寓就在学校旁边的小区,环境安静,阳光充足双阳台,有一储物间可以放很多东西。赠送3次空调清洗,如需要转网可赠送2月网费。地址:21woodleighclose#12-04parcMondrian图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图
巴黎歌剧院: «Agon»和«Grand Miroir»
病没友
«Agon»(图1-3)这是我第一次观看Balanchine的这部作品。剧目被分成数个小段。除了第一段和最后一段为群舞外,其它小段都只有两三位舞者。Stravinsky的音乐对编舞来说是一个巨大的挑战。无布景和简单的着装,将观众的注意力完全集中在舞者的动作上。形式语言完全成为主导。简介封面甚至渗透了Mondrian的作品~整部作品像是一部高难度舞蹈研习生练级必修课。看似简单的编舞其实要求舞者必须要
olap mysql_MySQL与OLAP:分析型SQL查询最佳实践探索
探索者19
olap mysql
搞点多维分析,糙快猛的解决方式就是使用ROLAP(关系型OLAP)了。数据经维度建模后存储在MySQL,ROLAP引擎(比方开源的Mondrian)负责将OLAP请求转化为SQL语句提交给数据库。OLAP计算分析功能导致MySQL须要进行较多复杂SQL查询,性能调优不可缺少,本文总结了一些有用原则。OLAP特点OLAP的典型应用包含复杂动态报表,须要支持钻取(上卷和下钻)、切片、切块和旋转操作。下
标签再使用时总是报错
piaoxue820
java编程
2013-9-29问题:标签再使用时总是报错。当我运行mondrian的demo时没有问题,自己想照着写一个的时候,放到tomcat下运行,就会报错!!解决办法:1。改为2.添加对应的jar文件:缺少jstl.jarstandard.jar两个包
saiku的简单配置及使用
柏树id
项目
一saiku的配置及使用1saiku主要页面介绍2saiku配置步骤3数据查询的简单使用示例4saiku相关博客资料推荐一、saiku的配置及使用Saiku提供了一个多维分析的用户操作界面,可以通过简单拖拉拽的方式迅速生成报表。Saiku的主要工作是根据事先配置好的schema,将用户的操作转化成MDX语句提供给Mondrian引擎执行1.1saiku主要页面介绍1,2,3不同三个主要界面(查询页
springboot 中 使用devtools导致的类型转换异常,RestartClassLoader,AppClassLoader。loader constraint violation
苏小演
后台 java
我的报错是这样的:java.lang.LinkageError:loaderconstraintviolation:whenresolvingmethod"mondrian.parser.MdxParserImpl.(Lmondrian/parser/MdxParserValidator$QueryPartFactory;Lmondrian/server/Statement;Ljava/lang/
快捷下载 sourceForge下的资源
weixin_34378922
一些开源项目通常会放在sourceforge.net下面发布。然而,这个网站有时候出现卡顿,并且需要点击几次页面才能下载到自己想要的资源。这里有个好办法,一步列出所有可下载的资源:sourceforge网站链接快捷下载链接https://sourceforge.net/projects/mondrian/改成https://qa.debian.org/watch/sf.php/mondrian/h
Saiku Mondrian Schema雪花模型写法
freud.wy
saiku
现在的场景是fact表为t_line_query(记录每条线路被查询的次数),维度表为t_lines(记录所有的线路),t_cities(所有的城市表)t_line_query外键line_id连接t_lines的主键id,t_lines的外键city_id连接t_cities主键id,整个维度分为3个level:city,lineName,direction正确的写法如下:
Mondrian Schema设计教程
sgmcumt
OLAP
文章目录1什么是模式?2模式文件(Schemafiles)2.1注释3逻辑模型(Logicalmodel)3.1多维数据集(cube)3.2度量(Measures)3.3维度(Dimensions),层次结构(Hierarchies),级别(levels)3.3.1将维和层次映射到表上(Mappingdimensionsandhierarchiesontotables)3.3.2'all'成员(T
关于树与思维导图的联想
慢魚爱立刻
本文为接续《让思维不再阻碍你的创意及梦想》的“器”篇,期望能透过思维导图这个工具让梦想落地。对后世建筑及设计影响巨大的荷兰画家彼埃·蒙德里安PietCorneliesMondrian,最有名的就是树系列油画:比之第一张的画家看见世界外貌,最后一张把树抽离成黑色(线条)/白色(光线)/三原色(蓝红黄),纯净无噪声,表达出树的本质。我觉得这是好的思维导图该追求的境界。先发散想法,然后用现实的眼光审视、
MONDRIAN支持的常用mysql函数
仔仔1993
mondrian
数值函数MAXCaclulatedmember实现MINCaclulatedmember实现AVGCaclulatedmember实现SUMCaclulatedmember实现PERCENT(分解为toppercent,bootompercent)采用Namedset实现字符串函数CONCAT(ColumnDefs)实现,然后放在维度中UPPERLOWERTRIMLENGTH时间函数DATE_AD
不同数据库之间的数据复制使用ETL来实现?
yawooh
也许ETL对主从复制的实时性要求不高?如果将来打造一套BI系统:1.数据源包括txt文件和SQLServer2005结构化数据并存2.用ETL工具比如kettle抽取数据到PostgreSQL做数据仓库3.将PostgreSQL数据库集群(或进一步实现主从复制)来提高容错和并发处理能力4.在其上架设OLAP服务器如Mondrian5.在OLAP客户端使用报表工具如JPivot,BIRT等进行展现其
Mondrian中聚合表的应用
weixin_34348805
最近在项目中使用了开源OLAP引擎——Mondrian实现一个多维分析系统,在项目后期系统优化阶段使用了Mondrian中的聚合表机制。这里结合Mondrian官方资料和个人使用经验,对Mondrian中聚合表的概念、应用场景、如何使用、注意事项等内容做一个总结。1.OLAP相关概念Mondrian是一个基于Java语言的开源OLAP引擎,它通过MDX语句执行查询,从关系型数据库RDBMS中读取数
kylin介绍
youbo_sun
大数据技术
转载:http://www.mamicode.com/info-detail-1015006.htmlKylin是ebay开发的一套OLAP系统,与Mondrian不同的是,它是一个MOLAP系统,主要用于支持大数据生态圈的数据分析业务,它主要是通过预计算的方式将用户设定的多维立方体缓存到HBase中(目前还仅支持hbase),这段时间对mondrian和kylin都进行了使用,发现这两个系统是时
MDX相关语法
Rocky-Young
BI 人工智能 MDX
MDX(MultidimensionalExpressions)是多维数据库(OLAP数据库)的查询语言.Mondrian会解析MDX,转换成SQL来查询关系数据库(可能是多条查询)。MDX的内容很多,功能强大,这里只介绍最基础和最重要的部分。1基本语法以下是里两条MDX查询语句及其查询结果ð语句1:SELECT{[Measures].[DollarSales],[Measures].[UnitS
15 MDX samples of foodmart
yifan268
MDX
在pentaho中国社区中看到有关mdx的15个例子,然后参照例子在mondrian-2.4.2.9831中测试,发现有些例子运行不了,现在整理如下:3、4、9,10中使用冒号“:”标识符测试没有通过,现在冒号使用还有bug,http://sourceforge.net/tracker/index.php?func=detail&aid=1751352&group_id=35302&atid=41
MySQL与OLAP:分析型SQL查询最佳实践探索
_猪头饼_
NoSQL&SQL DB ~MySQL
搞点多维分析,糙快猛的解决方案就是使用ROLAP(关系型OLAP)了。数据经维度建模后存储在MySQL,ROLAP引擎(比如开源的Mondrian)负责将OLAP请求转化为SQL语句提交给数据库。OLAP计算分析功能导致MySQL需要进行较多复杂SQL查询,性能调优必不可少,本文总结了一些实用原则。OLAP特点OLAP的典型应用包括复杂动态报表,需要支持钻取(上卷和下钻)、切片、切块和旋转操作。下
数据模式(Schema)定义
xbynet
数据
数据模式(Schema)定义Created星期一24十月2016模式(Schema)定义了一个多维数据库,它包一个含逻辑模型,并定义了逻辑模型到物理模型的映射。物理模型包含多维数据的存储方式:事实表、维表及其结构等。逻辑模型包含了用于MDX查询的结构,如数据立方体、维度、层次、成员、度量等。Mondrian使用一个XML文件来描述模式。Mondrian包含一个创建、修改模式文件的Java桌面应用s
多维数据模型总结和归纳
萧萧兮24
mondrian OLAP mdx
开源OLAP引擎:Mondrian在Mondrian里面的cube是以XML的形式定义的。(MDX)Mondrian本身是不存储数据的,通过MDX语句(一个类似于SQL的查询语言)来获取数据,Mondrian运行的时候要连数据库,并且还要有一个数据模型配置文件(Mondrian叫schema),其实就是一个取数据的规则;由此可知Mondrian只不过是把MDX翻译成了SQL然后从数据库中把数据拿出
关于树与思维导图的联想
慢魚爱立刻
本文为接续《让思维不再阻碍你的创意及梦想》的“器”篇,期望能透过思维导图这个工具让梦想落地。对后世建筑及设计影响巨大的荷兰画家彼埃·蒙德里安PietCorneliesMondrian,最有名的就是树系列油画:比之第一张的画家看见世界外貌,最后一张把树抽离成黑色(线条)/白色(光线)/三原色(蓝红黄),纯净无噪声,表达出树的本质。我觉得这是好的思维导图该追求的境界。先发散想法,然后用现实的眼光审视、
Enum用法
不懂事的小屁孩
enum
以前的时候知道enum,但是真心不怎么用,在实际开发中,经常会用到以下代码:
protected final static String XJ = "XJ";
protected final static String YHK = "YHK";
protected final static String PQ = "PQ";
【Spark九十七】RDD API之aggregateByKey
bit1129
spark
1. aggregateByKey的运行机制
/**
* Aggregate the values of each key, using given combine functions and a neutral "zero value".
* This function can return a different result type
hive创建表是报错: Specified key was too long; max key length is 767 bytes
daizj
hive
今天在hive客户端创建表时报错,具体操作如下
hive> create table test2(id string);
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataSto
Map 与 JavaBean之间的转换
周凡杨
java 自省 转换 反射
最近项目里需要一个工具类,它的功能是传入一个Map后可以返回一个JavaBean对象。很喜欢写这样的Java服务,首先我想到的是要通过Java 的反射去实现匿名类的方法调用,这样才可以把Map里的值set 到JavaBean里。其实这里用Java的自省会更方便,下面两个方法就是一个通过反射,一个通过自省来实现本功能。
1:JavaBean类
1 &nb
java连接ftp下载
g21121
java
有的时候需要用到java连接ftp服务器下载,上传一些操作,下面写了一个小例子。
/** ftp服务器地址 */
private String ftpHost;
/** ftp服务器用户名 */
private String ftpName;
/** ftp服务器密码 */
private String ftpPass;
/** ftp根目录 */
private String f
web报表工具FineReport使用中遇到的常见报错及解决办法(二)
老A不折腾
finereport web报表 java报表 总结
抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。
出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。
1、没有返回数据集:
在存储过程中的操作语句之前加上set nocount on 或者在数据集exec调用存储过程的前面加上这句。当S
linux 系统cpu 内存等信息查看
墙头上一根草
cpu 内存 liunx
1 查看CPU
1.1 查看CPU个数
# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
2
**uniq命令:删除重复行;wc –l命令:统计行数**
1.2 查看CPU核数
# cat /proc/cpuinfo | grep "cpu cores" | u
Spring中的AOP
aijuans
spring AOP
Spring中的AOP
Written by Tony Jiang @ 2012-1-18 (转)何为AOP
AOP,面向切面编程。
在不改动代码的前提下,灵活的在现有代码的执行顺序前后,添加进新规机能。
来一个简单的Sample:
目标类:
[java]
view plain
copy
print
?
package&nb
placeholder(HTML 5) IE 兼容插件
alxw4616
JavaScript jquery jQuery插件
placeholder 这个属性被越来越频繁的使用.
但为做HTML 5 特性IE没能实现这东西.
以下的jQuery插件就是用来在IE上实现该属性的.
/**
* [placeholder(HTML 5) IE 实现.IE9以下通过测试.]
* v 1.0 by oTwo 2014年7月31日 11:45:29
*/
$.fn.placeholder = function
Object类,值域,泛型等总结(适合有基础的人看)
百合不是茶
泛型的继承和通配符 变量的值域 Object类转换
java的作用域在编程的时候经常会遇到,而我经常会搞不清楚这个
问题,所以在家的这几天回忆一下过去不知道的每个小知识点
变量的值域;
package 基础;
/**
* 作用域的范围
*
* @author Administrator
*
*/
public class zuoyongyu {
public static vo
JDK1.5 Condition接口
bijian1013
java thread Condition java多线程
Condition 将 Object 监视器方法(wait、notify和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set (wait-set)。其中,Lock 替代了 synchronized 方法和语句的使用,Condition 替代了 Object 监视器方法的使用。
条件(也称为条件队列或条件变量)为线程提供了一
开源中国OSC源创会记录
bijian1013
hadoop spark MemSQL
一.Strata+Hadoop World(SHW)大会
是全世界最大的大数据大会之一。SHW大会为各种技术提供了深度交流的机会,还会看到最领先的大数据技术、最广泛的应用场景、最有趣的用例教学以及最全面的大数据行业和趋势探讨。
二.Hadoop
&nbs
【Java范型七】范型消除
bit1129
java
范型是Java1.5引入的语言特性,它是编译时的一个语法现象,也就是说,对于一个类,不管是范型类还是非范型类,编译得到的字节码是一样的,差别仅在于通过范型这种语法来进行编译时的类型检查,在运行时是没有范型或者类型参数这个说法的。
范型跟反射刚好相反,反射是一种运行时行为,所以编译时不能访问的变量或者方法(比如private),在运行时通过反射是可以访问的,也就是说,可见性也是一种编译时的行为,在
【Spark九十四】spark-sql工具的使用
bit1129
spark
spark-sql是Spark bin目录下的一个可执行脚本,它的目的是通过这个脚本执行Hive的命令,即原来通过
hive>输入的指令可以通过spark-sql>输入的指令来完成。
spark-sql可以使用内置的Hive metadata-store,也可以使用已经独立安装的Hive的metadata store
关于Hive build into Spark
js做的各种倒计时
ronin47
js 倒计时
第一种:精确到秒的javascript倒计时代码
HTML代码:
<form name="form1">
<div align="center" align="middle"
java-37.有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接
bylijinnan
java
public class MaxCatenate {
/*
* Q.37 有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接,
* 问这n 个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。
*/
public static void main(String[] args){
mongoDB安装
开窍的石头
mongodb安装 基本操作
mongoDB的安装
1:mongoDB下载 https://www.mongodb.org/downloads
2:下载mongoDB下载后解压
 
[开源项目]引擎的关键意义
comsci
开源项目
一个系统,最核心的东西就是引擎。。。。。
而要设计和制造出引擎,最关键的是要坚持。。。。。。
现在最先进的引擎技术,也是从莱特兄弟那里出现的,但是中间一直没有断过研发的
 
软件度量的一些方法
cuiyadll
方法
软件度量的一些方法http://cuiyingfeng.blog.51cto.com/43841/6775/在前面我们已介绍了组成软件度量的几个方面。在这里我们将先给出关于这几个方面的一个纲要介绍。在后面我们还会作进一步具体的阐述。当我们不从高层次的概念级来看软件度量及其目标的时候,我们很容易把这些活动看成是不同而且毫不相干的。我们现在希望表明他们是怎样恰如其分地嵌入我们的框架的。也就是我们度量的
XSD中的targetNameSpace解释
darrenzhu
xml namespace xsd targetnamespace
参考链接:
http://blog.csdn.net/colin1014/article/details/357694
xsd文件中定义了一个targetNameSpace后,其内部定义的元素,属性,类型等都属于该targetNameSpace,其自身或外部xsd文件使用这些元素,属性等都必须从定义的targetNameSpace中找:
例如:以下xsd文件,就出现了该错误,即便是在一
什么是RAID0、RAID1、RAID0+1、RAID5,等磁盘阵列模式?
dcj3sjt126com
raid
RAID 1又称为Mirror或Mirroring,它的宗旨是最大限度的保证用户数据的可用性和可修复性。 RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。
Mir
yii2 restful web服务快速入门
dcj3sjt126com
PHP yii2
快速入门
Yii 提供了一整套用来简化实现 RESTful 风格的 Web Service 服务的 API。 特别是,Yii 支持以下关于 RESTful 风格的 API:
支持 Active Record 类的通用API的快速原型
涉及的响应格式(在默认情况下支持 JSON 和 XML)
支持可选输出字段的定制对象序列化
适当的格式的数据采集和验证错误
MongoDB查询(3)——内嵌文档查询(七)
eksliang
MongoDB查询内嵌文档 MongoDB查询内嵌数组
MongoDB查询内嵌文档
转载请出自出处:http://eksliang.iteye.com/blog/2177301 一、概述
有两种方法可以查询内嵌文档:查询整个文档;针对键值对进行查询。这两种方式是不同的,下面我通过例子进行分别说明。
二、查询整个文档
例如:有如下文档
db.emp.insert({
&qu
android4.4从系统图库无法加载图片的问题
gundumw100
android
典型的使用场景就是要设置一个头像,头像需要从系统图库或者拍照获得,在android4.4之前,我用的代码没问题,但是今天使用android4.4的时候突然发现不灵了。baidu了一圈,终于解决了。
下面是解决方案:
private String[] items = new String[] { "图库","拍照" };
/* 头像名称 */
网页特效大全 jQuery等
ini
JavaScript jquery css html5 ini
HTML5和CSS3知识和特效
asp.net ajax jquery实例
分享一个下雪的特效
jQuery倾斜的动画导航菜单
选美大赛示例 你会选谁
jQuery实现HTML5时钟
功能强大的滚动播放插件JQ-Slide
万圣节快乐!!!
向上弹出菜单jQuery插件
htm5视差动画
jquery将列表倒转顺序
推荐一个jQuery分页插件
jquery animate
swift objc_setAssociatedObject block(version1.2 xcode6.4)
啸笑天
version
import UIKit
class LSObjectWrapper: NSObject {
let value: ((barButton: UIButton?) -> Void)?
init(value: (barButton: UIButton?) -> Void) {
self.value = value
Aegis 默认的 Xfire 绑定方式,将 XML 映射为 POJO
MagicMa_007
java POJO xml Aegis xfire
Aegis 是一个默认的 Xfire 绑定方式,它将 XML 映射为 POJO, 支持代码先行的开发.你开发服 务类与 POJO,它为你生成 XML schema/wsdl
XML 和 注解映射概览
默认情况下,你的 POJO 类被是基于他们的名字与命名空间被序列化。如果
js get max value in (json) Array
qiaolevip
每天进步一点点 学习永无止境 max 纵观千象
// Max value in Array
var arr = [1,2,3,5,3,2];Math.max.apply(null, arr); // 5
// Max value in Jaon Array
var arr = [{"x":"8/11/2009","y":0.026572007},{"x"
XMLhttpRequest 请求 XML,JSON ,POJO 数据
Luob.
POJO json Ajax xml XMLhttpREquest
在使用XMlhttpRequest对象发送请求和响应之前,必须首先使用javaScript对象创建一个XMLHttpRquest对象。
var xmlhttp;
function getXMLHttpRequest(){
if(window.ActiveXObject){
xmlhttp:new ActiveXObject("Microsoft.XMLHTTP
jquery
wuai
jquery
以下防止文档在完全加载之前运行Jquery代码,否则会出现试图隐藏一个不存在的元素、获得未完全加载的图像的大小 等等
$(document).ready(function(){
jquery代码;
});
<script type="text/javascript" src="c:/scripts/jquery-1.4.2.min.js&quo