- 浏览: 1267371 次
- 性别:
- 来自: 广州
最新评论
-
jackhong1108:
你可能只知道Oracle有like,不知道Oracle有其他的 ...
Hive使用regexp,RLIKE需要使用转义字符 -
pktangshao:
a_bun 写道iijjll 写道使用wmsys.wm_con ...
Oracle 列转行函数 Listagg() -
nayouzhenai:
Spring读取properties文件作为环境变量 -
a_bun:
iijjll 写道使用wmsys.wm_concat()函数也 ...
Oracle 列转行函数 Listagg() -
Horse_Chasing:
鼓励鼓励鼓励鼓励鼓励鼓励鼓励鼓励鼓励鼓励
广州面试小结
文章列表
转自大神 http://www.oratea.net/?p=944
无论做什么数据,都离不开日期函数的使用。
这里转载一下Hive的日期函数的使用,写的相当完整。
日期函数UNIX时间戳转日期函数: from_unixtime语法:from_unixtime(bigint unixtime[, string format]) 返回值: string说明: 转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式举例:hive> select from_unixtime(1323308943,'yyyyMMdd') from d ...
Hive虽然强大,但是我们遇到的业务需求必定是千奇百怪的。
往往在数据库中,通过游标来实现的数据读取,再回代到绑定变量的SQL里面进行查询在Hive时代已经不复存在。
举个例子,解析用户最近一年产品购买的金额。时间日期按照最近一次购买倒推一年。
原本我在Oracle数据库里面是通过游标+SQL绑定回查完成的。
现在用Hive,我觉得应该这么写:
select user_id,sum(pay_amount)
from(
select a.user_id,a.pay_amount,a.pay_date, b.last_pay_date
from src_tbl a
...
我使用的是Hive 0.10和Hadoop 1.1.1。
在家里的环境是Hive 0.9和Hadoop 1.0.4.
Hive可以使用Python脚本大大地提高数据处理的开发效率,使用MapReduce的方式将数据处理成想要的结果。
我们使用ADD FILE 为Hive增加一个脚本,或者Jar包。
有两种方式:
ADD FILE {env:HOME}/your_file/your_script.py
ADD FILE /home/your_name/your_file/your_script.py
在调用的时候,过去的版本可以使用:
FROM u_dataSE ...
对于美股新手来讲,会经常听到别人念叨着8-K、10-Q等等,这些奇怪的文件叫法听起来很悬乎,让人摸不着头脑。在这里对常见的SEC文件做个说明,科普一下。
SEC文件是由上市公司、上市公司内部人士、券商提交给美国证券交易委员会(SEC)的财务报表或者其他正式文件。投资者可以查阅这些文件获得最新的上市公司信息。大部分SEC文件可以通过SEC官网获取。
文件格式 说明
F-1 部分美国以外公司注册上市声明
Form D 规则D下的证券发行豁免注册公告
3 首次持股声明
4 持股变动声明
5 持股变动年度报告
算法虽然会,但是用数组的形式进行求值是一件非常非常恶心的事情。
更恶心的是,公司里面的逻辑居然要用到方程组求解,万分无奈之下,上网找了一份Java代码。
谁知道居然是个算法数组从1开始的。
好吧,认了吧,我就把你改过来。
调试通过。
留个代码做纪念。
package com;
public class EquationSolver {
/**
* @列主元高斯消去法
*/
static double a[][];
static double b[];
static double x[];
static int n;
static ...
最近公司在使用Hive做项目测试,所以就在Hive上面建了一些表,做测试。
使用建表语句后发现数据被自动覆盖了,现在了解到的情况是这样的。
Hive中,表的Metadata信息全部存储在MySQL中。
而存储在MySQL中的数据是没有校验过程的。
也就是说,你可以创建一个逻辑错误的表,两个表指向同一个HDFS文件也是有可能的。
所以,在使用CREATE TABLE的时候,LOCATION必须要指定成
Path/表名
如:
create table choice(
userid int,
classname string)
row format delimite ...
首先,HBase是分布式NoSQL数据库。
构建在Hadoop平台上的一个应用。
与Hadoop类似,属于Master-slave架构。
其中,存在一个运行的HMaster,和若干个HMaster备用,通过Zookeeper协调进行HA。
HMaster主要是处理Table的增删改查,HRegion的负载均衡,Region Split 和 新Region的重新分配。
存在一个或多个HRegion 的slave架构,用于实际数据的存储。
[HMaster]
/ \
[HRegion]....[HRegion]
...
在新增数据的时候,如果新的逻辑涉及到原有的信息,那么尽量是能不更新,就不更新。
所谓的不更新原则。
什么样的情况会有这样的问题呢?
比如说,用户下订单。
如果你过往有购买订单,那么这次的订单就可以打折,但是原有的订单每次只能打折一次。
A -> B -> C
有2种设计方式。
如上面,A单根据B单打折,B单根据C单打折。
第一种,增加一个标致字段,如果使用了就更新这个字段为1。
第二种,新增一个上次使用的订单字段,查询的时候做2次剔除。
一次剔除上次使用订单不为空的记录,另外一次剔除填在上次使用订单的的字段中的数据。
第一种查询友 ...
经常使用iBatis,Hibernate,JPA。
都不接触JDBC了。
结果这次写JDBC就悲剧了!!
首先,使用JDBC的PreparedStatement的时间是需要使用java.sql开头的包。
分别有 java.sql.Date,java.sql.Timestamp
其中,如果使用setDate,只能插入日期。
如果要插入时间戳,要使用setTimestamp方法。
如下:
pstmt.setDate(8, new Date(System.currentTimeMillis())); 或者: pstmt.setDate(8, new Date(new ...
很多公司都是走版本来发布产品的。
无论是对外的,还是对内的产品。
而我,很不幸地走入了一个冤枉的路里面。
拿了一个错误的模板,用着去年的规则,整了2次移交。
后来又被另外的人指出说错了。
没法子,错了就改吧。
改流程,改代码,改配置。
改了再移交,总算对了吧。
不好意思,根据流程,前面的文件还要走流程再撤销。
行吧,撤销吧。
那又改,改完又走流程。
撤销。
不好意思,撤销的不对,还有内容不规范,继续改。
就为了一个job,我移交了8-9次。
我都快疯掉了。
原本用筷子吃饭,变成用2把刀子吃饭,然后跟我说,你得把用筷子的方法给忘了。
这。。。。
...
根据需求,写了一段方法。
用于识别以下的情况:
判断 字符串A 在用逗号分隔的字符串B中是否存在
如:
v_str_a = aa ;
v_str_b= aa,bb,dd,cc ;
如上,就返回Y,否则返回N。
添加了一些校验。
以后可以根据需求,按照指定的分隔符,提取字符串。
毕竟Oracle的字符串解析比较麻烦,能封装就封装。
create or replace function func_str_inArray(p_target varchar2,
p_str_ ...
主数据是指在整个企业范围内各个系统(操作/事务型应用系统以及分析型系统)间要共享的数据, 比如,可以是与客户(customers),
供应商(suppliers),
帐户(accounts)以及组织单位(organizational units)相关的数据。 主数据通常需要在整个企业范围内保持 一致性(consistent)、 完整性(complete)、 可控性(controlled), 为了达成这一目标, 就需要进行主数据管理(Master Data Management ,MDM)。
一个企业里面拥有超过一个子系统,但是这些子系统都会共享一些数据。
简单的如客户信息,供 ...
在JavaScript的OOP世界里面,返回的不仅仅是一个对象,还可以是一个方法。
这是什么意思呢?
将方法当作一个对象返回,你执行这个对象,就可以达到预期规则的效果。
这样解释比较难理解,看下面这个例子吧:
//*************闭包uniqueID*************
uniqueID = (function(){ //这个函数的调用对象保存值
var id = 0; //这是私有恒久的那个值
//外层函数返回一个有权访问恒久值的嵌套的函数
//那就是我们保存在变量uniqueID里的嵌套函数.
return f ...
备注:这里的内容有转载的部分,有我自己理解的部分。
首先来一道题:
function foo(){
foo.abc = function(){alert('def')}
this.abc = function(){alert('xyz')}
abc = function(){alert('@@@@@')};
var abc = function(){alert('$$$$$$')}
}
foo.prototype.ab ...
在Hadoop里面经常看到有StringTokenizer,用来分割字符串。
那么在这里就简单地了解一下这个类到底有什么用。
1. StringTokenizer(String str):构造一个用来解析str的StringTokenizer对象。 java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。2. StringTokenizer(String str, String delim):构造一个用来解析str的StringTokenizer对象, 并提供一个指定的分隔符。3. StringTokenizer(Stri ...