“先说一个关于沟通的诀窍 ”
灵感来自于参加一次内部培训,
主题为《如何跟高层沟通的成功密码》;
首先,这个主题就很吸引人,内容更是!
其中还结合实例讲了很多案例,收获颇深。
大概意思是如何跟VITO沟通,
里边涉及到麦肯锡的30s电梯法则。
VITO更愿意接受新想法,
并愿意为此承担适当的风险。
一、要出语惊人
二、要短小精悍
三、要提炼观点
正文
数据格式:
假设现有一张Hive表,
元数据格式为:
字段:
id stirng
tim string
数据格式如下:
a,b,c,d 2:00,3:00,4:00,5:00
f,b,c,d 1:10,2:20,3:30,4:40
我需要变成:
a 2:00
b 3:00
c 4:00
d 5:00
python:
就是将两列数据读入进来,然后扔到zip中,再list一下。
HiveSql:
其实整体来说,这个方法还是蛮费劲,算是一个典型得,一行转多行,但是同时前后又要一一对应。 那么,想法就有了,可以对其加入自增列,或者对应得值。这个阶段可能需要多次重复测试。
思路是对每一列分别做行转列,并且加上自增列,然后通过自增列的id,将其关联起来。最终效果如下。
select t.myCol1,t1.myCol2 from
(select a.*, row_number() over ( order by a.id) as pid from (select *,split(id,",") as id_lst , split(tim,",") as tim_lst from fengyinjie.hl_shuju) a
LATERAL VIEW explode(id_lst) a AS myCol1) as t
join
(select a.*, row_number() over ( order by a.id) as pd from
(select *,split(id,",") as id_lst , split(tim,",") as tim_lst from fengyinjie.hl_shuju) a
LATERAL VIEW explode(tim_lst) a AS myCol2 ) as t1
on t.pid = t1.pd;
效果如下: