partition

SparkSQL PostgresQL Dataframe partitions

不想你离开。 提交于 2020-01-23 09:03:55
问题 I have a very simple setup of SparkSQL connecting to a Postgres DB and I'm trying to get a DataFrame from a table, the Dataframe with a number X of partitions (lets say 2). The code would be the following: Map<String, String> options = new HashMap<String, String>(); options.put("url", DB_URL); options.put("driver", POSTGRES_DRIVER); options.put("dbtable", "select ID, OTHER from TABLE limit 1000"); options.put("partitionColumn", "ID"); options.put("lowerBound", "100"); options.put("upperBound"

【Oracle】OVER(PARTITION BY)函数用法

依然范特西╮ 提交于 2020-01-23 02:39:02
OVER(PARTITION BY)函数介绍 开窗函数 Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返回多行,而聚合函数对于每个组只返回一行。 开窗函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化,举例如下: 1:over后的写法: over(order by salary) 按照salary排序进行累计,order by是个默认的开窗函数 over(partition by deptno)按照部门分区 over(partition by deptno order by salary) 2: 开窗的窗口范围 : over(order by salary range between 5 preceding and 5 following):窗口范围为当前行数据幅度减5加5后的范围内的。 举例: -- sum(s)over(order by s range between 2 preceding and 2 following) 表示加2或2的范围内的求和 select name,class,s, sum(s)over(order by s range between 2 preceding and 2 following) mm from t2 adf 3 45 45 -

NumPy排序

雨燕双飞 提交于 2020-01-21 15:44:11
numpy.sort()函数 小说网 www.198200.com 该函数提供了多种排序功能,支持归并排序,堆排序,快速排序等多种排序算法 使用numpy.sort()方法的格式为: numpy.sort(a,axis,kind,order) a:要排序的数组 axis:沿着排序的轴,axis=0按照列排序,axis=1按照行排序。 kind:排序所用的算法,默认使用快速排序。常用的排序方法还有 quicksort:快速排序,速度最快,算法不具有稳定性 mergesort:归并排序,优点是具有稳定性,空间复杂度较高,一般外部排序时才会考虑 heapsort:堆排序,优点是堆排序在最坏的情况下,其时间复杂度也为O(nlogn),是一个既最高效率又最节省空间的排序方法 order:如果包含字段,则表示要排序的字段(比如按照数组中的某个元素项进行排序) 下面通过一个实例来具体了解numpy.sort()函数的用法 假设我们有一组用户信息,包含用户的用户名以及用户的年龄,我们按照用户的年龄来进行排序 dt=np.dtype([('name','S20'),('age','i4')]) a=np.array([('adm','19'),('wan','23'),('ade','23')],dtype=dt) s=np.sort(a,order='age',kind='quicksort')

Spark-SQL 面试准备 2

馋奶兔 提交于 2020-01-21 01:51:30
Spark Knowledge NO.2 11.RDD缓存: Spark可以使用 persist 和 cache 方法将任意 RDD 缓存到内存、磁盘文件系统中。缓存是容错的,如果一个 RDD 分片丢失,可以通过构建它的 transformation自动重构。被缓存的 RDD 被使用的时,存取速度会被大大加速。一般的executor内存60%做 cache, 剩下的40%做task。 Spark中,RDD类可以使用cache() 和 persist() 方法来缓存。cache()是persist()的特例,将该RDD缓存到内存中。而persist可以指定一个StorageLevel。StorageLevel的列表可以在StorageLevel 伴生单例对象中找到。 Spark的不同StorageLevel ,目的满足内存使用和CPU效率权衡上的不同需求。我们建议通过以下的步骤来进行选择: 如果你的RDDs可以很好的与默认的存储级别(MEMORY_ONLY)契合,就不需要做任何修改了。这已经是CPU使用效率最高的选项,它使得RDDs的操作尽可能的快。 如果不行,试着使用MEMORY_ONLY_SER并且选择一个快速序列化的库使得对象在有比较高的空间使用率的情况下,依然可以较快被访问。 尽可能不要存储到硬盘上,除非计算数据集的函数,计算量特别大,或者它们过滤了大量的数据。否则

Hive基础

五迷三道 提交于 2020-01-20 18:44:20
Hive基础(一) 原创人间怪物 最后发布于2018-12-19 15:35:03 阅读数 2918 收藏 展开 1.Hive是什么 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成为一张数据库表,并提供类SQL的查询功能。可以将sql语句转化为MapReduce任务进行运行。Hive提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。 2.Hive架构 用户接口: Shell/CLI,CLI(Command Line Interface),Shell 终端命令行,采用交互形式使用 Hive 命令行与 Hive 进行交互。Cli 启动的时候,会同时启动一个 Hive 副本。JDBC/ODBC客户端是Hive的JAVA实现,与传统数据库JDBC类似。Web UI通过浏览器访问hive。主要用来将我们的sql语句提交给hive。 Thrift服务器:Thrift 是 Facebook 开发的一个软件框架,可以用来进行可扩展且跨语言的服务的开发, Hive 集成了该服务,能让不同的编程语言调用 Hive 的接口。 元数据库: 存储在 Hive 中的数据的描述信息。Hive 将元数据存储在数据库中,如 mysql、(默认)derby。Hive 中的元数据包括表的名字

SQL Server On Linux(21)—— SQL Server On Linux性能(7)——性能进阶简介——分区(1)

感情迁移 提交于 2020-01-20 08:05:55
本人新书上市,请多多关照: 《SQL Server On Linux运维实战 2017版从入门到精通》 本篇开始专门对性能进行一系列讲解,这一系列不限于Linux平台,更多的是针对SQL Server本身。 SQL Server性能新特性   SQL Server发展至今,为了不断提升性能,引入了不少最新技术。它们主要以分区表/索引,In-Memory OLTP 和列存储索引这三类核心技术为主。虽然这些技术有各自的使用场景,但是都具有一个共同的目标:针对关键系统大幅度提高性能。这些功能不仅仅是提升性能,而且还是大幅度提升!   接下来会简单介绍这三种技术,有机会的话再细说具体技术。由于工作需要,首先从分区表和分区索引入手。 分区表和分区索引   这个严格意义来说不能称为“新技术“,因为从SQL Server 2005开始就有了。而且业界很多数据库产品都有分区功能。分区的出现源自于大量关系数据的出现。当一个表存储了亿级(请更新你对几百万行数据就成为“大表“的叫法),增删改查的性能将明显下降,其维护成本(比如备份/重建索引/更新统计信息等等)都会变得非常大。   因此,业界通常会对表进行拆分操作。拆分通常有***垂直拆分***和***横向拆分***, 垂直拆分大概就是把一个有很多列的表,按照业务逻辑,拆成多个行数相等但是列数更少的表。这种拆分***并不减少数据行数***

linux中GPT分区

前提是你 提交于 2020-01-20 04:11:35
提前增加一块硬盘/dev/sdb [root@localhost ~]# parted GNU Parted 3.1 使用 /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) 默认输入parted命令定位到第一块硬盘/dev/sda,切换硬盘使用select 设备路径 (parted) select /dev/sd sda sda1 sda2 sdb (parted) select /dev/sdb 使用 /dev/sdb 指定目标分区表的类型,使用mklabel命令,如果是MBR则为msdos,在fdisk命令中,只支持MBR分区,即分区表类型为msdos,省略了该步骤,在使用parted分区的时候,我们可以使用gpt分区类型,该分区类型突破了主分区最多4个的限制,突破了单个分区最大2TB的限制。 (parted) mklabel gpt 交互模式和命令模式,命令模式必须指定Name (parted) mkpart 分区名称? []? huangbaokang 文件系统类型? [ext2]? 起始点? 0 结束点? 100 警告: The resulting partition is not properly aligned for best performance.

OpenTSDB介绍

爱⌒轻易说出口 提交于 2020-01-19 21:43:34
OpenTSDB 2.0, the scalable, distributed time series database可扩展、分布式时间序列数据库 1、背景 一些老的监控系统,它常常会出现这样的问题: 1)中心化数据存储进而导致单点故障。 2)有限的存储空间。 3)数据会因为时间问题而变得不准确。 4)不易于定制图形。 5)不能扩展采集数据点到100亿级别。 6)不能扩展metrics到K级别。 7)不支持秒级别的数据。 OpenTSDB解决上面的问题: 1、它用 hbase存储所有的时序 (无须采样)来构建一个分布式、可伸缩的时间序列数据库。 2、它支持 秒级数据采集所有metrics ,支持永久存储,可以做容量规划,并很容易的接入到现有的报警系统里。 3、OpenTSDB可以从 大规模的集群( 包括集群中的网络设备、操作系统、应用程序)中 获取相应的metrics并进行存储、索引以及服务 从而使得这些数据更容易让人理解,如web化,图形化等。 对于运维工程师而言,OpenTSDB可以获取基础设施和服务的实时状态信息,展示集群的各种软硬件错误,性能变化以及性能瓶颈。 对于管理者而言,OpenTSDB可以衡量系统的SLA,理解复杂系统间的相互作用,展示资源消耗情况。集群的整体作业情况,可以用以辅助预算和集群资源协调。 对于开发者而言,OpenTSDB可以展示集群的主要性能瓶颈

Hive(8)-常用查询函数

落花浮王杯 提交于 2020-01-19 15:29:09
一. 空字段赋值 1. 函数说明 NVL:给值为NULL的数据赋值,它的格式是NVL( value,default_value)。它的功能是如果value为NULL,则NVL函数返回default_value的值,否则返回value的值,如果两个参数都为NULL ,则返回NULL。 2. 案例 -- 如果员工的comm为NULL,则用-1代替 select comm,nvl(comm, -1) from emp; -- 如果员工的comm为NULL,则用领导id代替 select comm, nvl(comm,mgr) from emp; 二. case when 1. 函数说明 2. 案例 -- 求出不同部门男女各多少人 select dept_id, sum(case sex when '男' then 1 else 0 end) male_sum, sum(case sex when '女' then 1 else 0 end) female_sum from emp_sex group by dept_id; 三. 行转列(concat) 1. 函数说明 CONCAT(string A/col, string B/col…):返回输入字符串连接后的结果,支持任意个输入字符串; CONCAT_WS(separator, str1, str2,...):它是一个特殊形式的

kafka原理篇

前提是你 提交于 2020-01-19 14:38:56
目录 消息队列分类 点对点 发布/订阅 kafka介绍 kafka架构说明 Topic与Partition的关系 partition复制机制 Consumer与Topic的关系 消息队列分类 点对点 消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息。这里要注意: 消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。 Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。 发布/订阅 消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息。和点对点方式不同,发布到topic的消息会被所有订阅者消费。 kafka介绍 kafka是一个分布式的、分区的、多副本的、多订阅者的日志系统(分布式消息队列)。可同时支持点对点模式的消息队列和发布/订阅模式的消息队列。 kafka架构说明 kafka角色术语: Broker:一台kafka服务器就是一个broker。一个集群由多个broker组成 Topic:消息队列,不同的消息会被发送至不同的队列当中 Producer:消息生产者,就是向kafka broker发消息的客户端 Consumer:消息消费者,从kafka broker取消息的客户端 Consumer Group(CG):这是kafka用于实现一个topic消息广播