当前位置:  编程技术>综合
本页文章导读:
    ▪JQuery Mobile入门——创建页面pagecreate事件      1、如果要跟踪不同页面的内容注入当前的DOM结构,可以将页面中的page容器绑定pagecreate事件,该事件在页面初始化时触发,绝大多是的JQuery Mobile组件都在该事件之后进行一些数据的初始化。 2.........
    ▪MapReduce Design Patterns(chapter 5 (part 1))(九)      Chapter 5. Join Patterns 把数据保存成一个巨大的数据集不是很常见。例如,用户信息数据频繁更新,所以要保存到关系数据库中。于此同时,web日志以恒定的数据流量增加,直接写到HDFS。这些日.........
    ▪[Java 常用类库]:PropUtils 属性文件类      Java读取和修改properties文件 方法说明: 1.Properties getProperties(String filepath):根据路径读取属性文件,返回Properties类; 2.void SaveProperties(Properties prop,String filepath):保存属性到指定路径(如果.........

[1]JQuery Mobile入门——创建页面pagecreate事件
    来源: 互联网  发布时间: 2013-11-10

1、如果要跟踪不同页面的内容注入当前的DOM结构,可以将页面中的page容器绑定pagecreate事件,该事件在页面初始化时触发,绝大多是的JQuery Mobile组件都在该事件之后进行一些数据的初始化。

2、将page容器与pagebeforecreate和pagecreate事件进行绑定,在页面执行时,通过绑定的事件跟踪执行的过程

3、示例代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
   <meta name="viewport" content="width=device-width,initial-scale=1"/>
  <link href=/blog_article/"Css/jquery.mobile-1.2.0.min.css" rel="Stylesheet" type="text/css"/>
  <script src=/blog_article/"Js/jquery-1.8.3.min.js" type"text/javascript"></script>
  <script src=/blog_article/"Js/jquery.mobile-1.2.0.min.js" type="text/javascript"></script>
  <script type="text/javascript">
   $("#e1").live("pagebeforecreate",function(){
     alert("正在创建页面");
   });
   $("#e1").live("pagecreate",function(){
     alert("页面创建完成");
   });
  </script>
 </HEAD>
 <BODY>
  <div data-role="page" id="e1">
    <div data-role="header"><h1>创建页面</h1></div>
<div data-role="content">页面创建完成</div>
<div data-role="footer"><h4>@2013 3i studio</h4></div>
  </div>
 </BODY>
</HTML>

4、效果图预览:

  点击确定   创建完成后

作者:liang408015204 发表于2013-1-9 13:50:26 原文链接
阅读:14 评论:0 查看评论

    
[2]MapReduce Design Patterns(chapter 5 (part 1))(九)
    来源: 互联网  发布时间: 2013-11-10
Chapter 5. Join Patterns

把数据保存成一个巨大的数据集不是很常见。例如,用户信息数据频繁更新,所以要保存到关系数据库中。于此同时,web日志以恒定的数据流量增加,直接写到HDFS。这些日志的日常分析过的数据保存在hdfs的某个地方,财务数据存储在加密的仓库中。还有很多例子。。。

(原文are stored someone where in HDFS 貌似应改为 are stored somewhere in HDFS)

数据遍布于各处,本身也很有价值。当我们合起来分析这些数据集时会发现一些有趣的关系。这就是join模式可以使用的地方。Join可以用一个小的引用集合让数据更丰富,或者过滤出或选择出指定的一系列类型。这种使用也有很多。

在RDB中,join操作可以使用简单的命令完成,数据库引擎会处理所有工作。对我们不幸的是,MapReduce中的join不会这么简单。MapReduce每次操作一个键值对,一般来自相同的输入。我们现在会处理至少两个输入数据集而且很可能有不同的结构,所以我们需要知道记录来自哪个数据集,以便正确的处理。一般情况下,join操作之前不会过滤数据,所以一些join操作需要把每个输入的字节都发送到reduce阶段,网络传输较繁重。例如,拿一个1T的数据跟另一个1T的数据做join,至少需要2T的网络流量-而且是在实际的join逻辑之前做的。

基于所有以上复杂的原因,要从几个不同的方式中选出一个最好的方式。由于框架只是简单的分解成map和reduce任务,有很多工作需要手动处理,有很多事情要考虑。当你了解了这些可能性,问题就是什么时候用什么模式。不管用什么MapReduce操作,网络流量都是非常重要的资源,join更会大量的使用它。让网络传输更有效率是值得考虑的,网络优化是这些模式中不同的地方。

下面讲到的每种模式都可以使用其执行inner join或至少一种类型outer join。至于选那个模式,很大程度上取决于数据集的大小,格式,哪种类型的join。另一方面,笛卡尔积也完全不同,但当我们遇到时,总能想办法解决。

本章第一个模式是reduce side join,最基本的,同时使用bloom filter的改进版本。随后,我们讨论两种map端执行join操作的模式:使用分布式缓存或hadoop MapReduce api里的归并特性。最终,我们会看到怎样巧妙的执行笛卡尔积。

对你的情况选择正确类型的join比较困难。注意下面“Applicability”部分的描述。

A Refresher on Joins

如果你有深厚的RDB sql背景出身,可以跳过这一部分,对于hadoop初学者来说,join可能有点像外部的东西。

Join很可能是你执行的MapReduce中最复杂的操作之一(我觉得没有之一)。在设计上MapReduce依靠查看每一条记录或隔离分组,非常适合处理巨大数据集,所以join两个非常大的数据集可能不太符合其范例。在分析模式之前,让我们先搞清楚什么是join,还有不同的join类型。

Join是一种基于一个或几个字段,连接两个或两个以上数据集的一种操作,例如所谓的外键。外键是一种关系型表中匹配另一张表的某列的字段。并且是表示表与表之间相互关系的重要手段。用例子说明是最简单的方式了,下面深入研究。

为了简单的解释join类型,使用两个数据集A和B。外键定义为f。不同的join类型分别如表5-1和5-2表示。随后的描述也会用到这两张表

Table 5-1. Table A

Table 5-2. Table B

INNER JOIN

当人们不指定类型,说join时,通常指的是inner join。用这种类型,A表和B表具有相同外键值得记录才被取出来,如果把这个结果放在一张新表里,结果中在A表不在B表,或在B表不在A表的数据都不会出现在新表里。

表5-3 展示了这个结果集。使用userid作为外键。

Table 5-3. Inner Join of A + B on User ID

用户id是3或5的在两个表里都有,所以会出现在最终的表里。用户id是4或9在表A,用户id是8的在表B,但都不在另一个表中,所以被忽略。然而这些记录会出现在下面介绍的类型中join类型中。

OUTER JOIN

外连接跟内连接相似,但只出现在一个表的记录会出现在最终结果表。有三种外连接,他们直接决定哪些没有匹配的记录会出现在最终表里。

左外连接中,左边表里没匹配的记录会出现在最终表里,右边表没有与之对应的记录位置填null值,右外连接相反。全外连接会包含两个表所有的数据

    
[3][Java 常用类库]:PropUtils 属性文件类
    来源: 互联网  发布时间: 2013-11-10

Java读取和修改properties文件


方法说明:

1.Properties getProperties(String filepath):根据路径读取属性文件,返回Properties类;

2.void SaveProperties(Properties prop,String filepath):保存属性到指定路径(如果文件不存在,请先创建File);

3.String getConfigValue(String key):获取指定Key的属性;

4.void setConfigValue(String key,String value):设置指定Key的属性值。


其中方法3,4调用的属性文件为默认的文件,文件名和路径通过CONFIG和LOCATION设置,该文件的位置为工程中的src下,导出jar文件的同级目录下(LOCATION获取)。


下面代码:

public class PropUtils {
	public static String LOCATION;
	
	public static final String CONFIG = "config.properties";
	
	static{
		try {
			String temp = URLDecoder.decode(PropUtils.class.getProtectionDomain().getCodeSource().getLocation().getFile(), "UTF-8");
			LOCATION = temp.substring(1, temp.lastIndexOf('/'));
		} catch (UnsupportedEncodingException e) {
			LOCATION = "";
		}
		
	}
	/**
	 * @param args
	 * @throws Exception 
	 */
	public static Properties getProperties(String filepath) throws Exception {
		Properties prop = new Properties();
		FileInputStream fis = new FileInputStream(LOCATION+"/"+filepath);
		prop.load(fis);
		return prop;
	}
	
	public static void SaveProperties(Properties prop,String filepath) throws Exception {
		FileOutputStream fos = new FileOutputStream(LOCATION+"/"+filepath);
		prop.store(fos, "@author Isea533");
		fos.close();
	}

	public static String getConfigValue(String key) {
		try {
			Properties properties = getProperties(CONFIG);
			if(properties.get(key)!=null){
				return properties.get(key).toString();
			}
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
		return "";
	}
	
	public static void setConfigValue(String key,String value){
		try {
			Properties properties = getProperties(CONFIG);
			properties.setProperty(key, value);
			SaveProperties(properties, CONFIG);
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
	}
}





作者:isea533 发表于2013-1-9 13:31:42 原文链接
阅读:32 评论:0 查看评论

    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3