partition

hive数据操作(翻译自Hive wiki+实例讲解)

喜欢而已 提交于 2019-12-25 13:08:06
hive有两种数据修改方式 从文件加载到hive表 加载数据到表时,hive不会做任何转换。加载操作是纯粹的复制/移动操作,移动数据文件到相应的hive表。 语法 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] 实例 假设hive的warehouse目录是/user/hadoop/warehouse,这里有一个login表 CREATE TABLE login ( uid BIGINT, ip STRING ) PARTITIONED BY (dt STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE; 对应有一个用户登录日志文件,文件内容如下: 888,8.8.8.8 999,9.9.9.9 注意,列与列之间是用','号隔开,第一列是uid,第二列是用户ip。 接着加载数据 LOAD DATA LOCAL INPATH '/data/login/20130101.csv' OVERWRITE INTO TABLE login PARTITION (dt='20130101'); 这表示从本地磁盘,把文件 '

05_Hive分区总结

时间秒杀一切 提交于 2019-12-25 13:07:53
2.1. 创建 分区表并将本地文件的数据加载到分区表:   使用下面的命令来创建一个带分区的表         通过 partitioned by(country string)关键字声明该表是分区表,且分区字段不能为create table时存在的字段。此 时只能说指定了这个表会分区,但是具体数据有哪些分区则会在 导入数据时产生   使用下面的命令来指定具体导入到哪个分区:      查询该分区表:select * from t_part;      此时分区字段已经变成一个伪字段了。如果要分区查询,可以使用Where或者Group by来进行限定; 2.2. Hive中上传数据:     之前我们直接将数据文件上传到了Hive表所在的数据目录,其实Hive还提供了一个Load命令供我们将数据进行上传   语法结构:Load   LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO   TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]    参数说 明:   Load 操作只是单纯的复制/移动操作,将数据文件移动到 Hive 表对应的位置。   filepath:     相对路径,例如:project/data1     绝对路径,例如:/user

HIVE深入学习--数据导入、导出

若如初见. 提交于 2019-12-25 13:06:32
参考资料http://www.aboutyun.com/thread-7440-1-1.html,感谢分享!!! Hive的几种常见的数据导入方式 这里介绍四种: (1)、从本地文件系统中导入数据到Hive表; (2)、从HDFS上导入数据到Hive表; (3)、从别的表中查询出相应的数据并导入到Hive表中; (4)、在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中。 一、从本地文件系统中导入数据到Hive表 先在Hive里面创建好表,如下: hive> create table wyp > (id int, name string, > age int, tel string) > ROW FORMAT DELIMITED > FIELDS TERMINATED BY '\t' > STORED AS TEXTFILE; OK Time taken: 2.832 seconds 这个表很简单,只有四个字段,具体含义我就不解释了。本地文件系统里面有个/home/wyp/wyp.txt文件,内容如下: [wyp@master ~]$ cat wyp.txt 1 wyp 25 13188888888888 2 test 30 13888888888888 3 zs 34 899314121 wyp.txt文件中的数据列之间是使用\t分割的

Kafka学习笔记(三)架构

别来无恙 提交于 2019-12-25 13:06:19
Kafka学习笔记(三)架构 Kafka架构图: 一个典型的Kafka集群中包含若干Producer(可以是web前端产生的Page View,或者是服务器日志,系统CPU、Memory等),若干broker(Kafka支持水平扩展,一般broker数量越多,集群吞吐率越高),若干Consumer Group,以及一个Zookeeper集群。Kafka通过Zookeeper管理集群配置,选举leader,以及在Consumer Group发生变化时进行rebalance。Producer使用push模式将消息发布到broker,Consumer使用pull模式从broker订阅并消费消息。 组件: Broker(代理) Kafka集群通常由多个代理组成以保持负载平衡。 Kafka代理是无状态的,所以他们使用ZooKeeper来维护它们的集群状态。 一个Kafka代理实例可以每秒处理数十万次读取和写入,每个Broker可以处理TB的消息,而没有性能影响。 Kafka经纪人领导选举可以由ZooKeeper完成。 ZooKeeper ZooKeeper用于管理和协调Kafka代理。 ZooKeeper服务主要用于通知生产者和消费者Kafka系统中存在任何新代理或Kafka系统中代理失败。 根据Zookeeper接收到关于代理的存在或失败的通知

怎样给centos系统扩展磁盘分区

女生的网名这么多〃 提交于 2019-12-25 00:14:39
问题/故障/场景/需求 eve-ng的虚拟机ova的硬盘只有38G,需要增加空间,在vmware直接扩展硬盘后,重启系统,使用fdisk -l可以看到硬盘扩大了,但文件系统并没有扩大,还需要将这些新增的空间扩展分配到某个文件系统才行。下面记录了整个扩展过程 解决方法/步骤 在VM里扩大磁盘到250G重启系统后,查看当前的文件系统的情况 root@eve-ng:~# df -h Filesystem Size Used Avail Use% Mounted on udev 7.9G 0 7.9G 0% /dev tmpfs 1.6G 19M 1.6G 2% /run /dev/mapper/eve--ng--vg-root 38G 13G 23G 36% / tmpfs 7.9G 0 7.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup /dev/sda1 472M 83M 365M 19% /boot root@eve-ng:~# fdisk -l ...省略部分内容 Disk /dev/sda: 250 GiB, 268435456000 bytes, 524288000 sectors //可以看到已经有250G了 Units: sectors of 1 * 512

分布式进阶(二十) Kafka简介

北战南征 提交于 2019-12-24 22:01:43
一、简介 1.1 概述 Kafka是最初由Linkedin公司开发,是一个 分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统) ,常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。 主要应用场景是: 日志收集系统和消息系统。 Kafka主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能。 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输。 支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输。 同时支持离线数据处理和实时数据处理。 Scale out:支持在线水平扩展 1.2 消息系统介绍 一个消息系统负责将数据从一个应用传递到另外一个应用,应用只需关注于数据,无需关注数据在两个或多个应用间是如何传递的。分布式消息传递基于可靠的消息队列,在客户端应用和消息系统之间异步传递消息。有两种主要的消息传递模式:点对点传递模式、发布-订阅模式。大部分的消息系统选用发布-订阅模式。 Kafka就是一种发布-订阅模式。 1.3 点对点消息传递模式 在点对点消息系统中,消息持久化到一个队列中。此时

Find nth occurence of groups of thousands which sum to a given number in lexical order

流过昼夜 提交于 2019-12-24 19:49:19
问题 A previous question asked for the solutions in lexical order (lowest to highest) to a+b+c+d… = x where a,b,c,d… is an arbitrary number of integers between 0-999 and x is a fixed integer An answer was given which fully computes this efficiently using python. However, for very large numbers, the loop could take years to complete. For example, the huge number: 304,153,525,784,175,759 is a solution for x=2700 since the groups of threes add up to 2700 304+153+525+784+175+759 = 2700 However, to

How to go through all partitions in hive?

怎甘沉沦 提交于 2019-12-24 08:09:39
问题 I want to update column's value in all partitions. Before I found insert overwrite can be used to update data. My current statement is insert OVERWRITE table s_job PARTITION(pt = '20190101') select case job_name when 'Job' then 'system' end from s_job; However, it must specify certain partition. What I want is to update the value in all partitions, I don't know how to do. Is there a way using hive sql to go through all partitions in hive? Thank you so much. 回答1: Use dynamic partitioning: set

Sending message to Azure IoT hub partition

久未见 提交于 2019-12-24 06:58:22
问题 Does anyone know if there is a library that allows you to send a message to a specific partition on an IoT hub with Azure. I was previously able to achieve this with azuresblite library, unfortunatelly which I Cannot use. https://github.com/ppatierno/azuresblite 回答1: There is no way to send a message to a specific partition. Period. Partitions are used internally to allow scaling of the IoT (Event Hub) and allow for scaling out the consumer app (the one that reads the events out of the Hub).

动态磁盘和LVM

不羁岁月 提交于 2019-12-24 05:34:45
偶然把磁盘转换成了动态磁盘,后来调整容量时发现下面的情况:不用使用PQ之类的硬调整了,直接在Windows下右键“扩展卷”就行了,还不用重启。 很神奇,看看“动态磁盘”是怎么回事。 安装Windows 7时,按shift+F10,可以调用命令行,使用diskpart进行分区。 输入list disk查看硬盘 如果就一个硬盘,就输入select disk 0 输入list volume 输入list partition 如图所示,这个20GB的磁盘是空的,没有分区。 下面进行分区,分成13GB、4GB、2GB,共3个区。 create partition primary size=13400 create partition primary size=4200 create partition primary 这个时候各个分区还没有格式化,还没有分配驱动器号(C、D、E等)。 格式化: select partition 1 format quick select partition 2 format quick select partition 3 format quick 格式化完毕,没有自动分配驱动器号。 可以看出这时partition和volume是一一对应关系,这时可以进行安装Windows 7。 下面试验转换成动态磁盘。 输入convert dynamic 输入list