空间维度

一文读懂Apache Kylin(麒麟)

荒凉一梦 提交于 2019-12-16 00:10:58
“麒麟出没,必有祥瑞。”                               —— 中国古谚语 Kylin思维导图 前言 随着移动互联网、物联网等技术的发展,近些年人类所积累的数据正在呈爆炸式的增长,大数据时代已经来临。但是海量数据的收集只是大数据技术的第一步,如何让数据产生价值才是大数据领域的终极目标。Hadoop的出现解决了数据存储问题,但如何对海量数据进行OLAP查询,却一直令人十分头疼。 企业中的查询大致可分为即席查询和定制查询两种。之前出现的很多OLAP引擎,包括Hive、Presto、SparkSQL等,虽然在很大程度上降低了数据分析的难度,但它们都只适用于即席查询的场景。它们的优点是查询灵活,但是随着数据量和计算复杂度的增长,响应时间不能得到保证。而定制查询多数情况下是对用户的操作做出实时反应,Hive等查询引擎动辄数分钟甚至数十分钟的响应时间显然是不能满足需求的。在很长一段时间里,企业只能对数据仓库中的数据进行提前计算,再将算好后的结果存储在MySQL等关系型数据库中,再提供给用户进行查询。但是当业务复杂度和数据量逐渐升高后,使用这套方案的开发成本和维护成本都显著上升。因此,如何对已经固化下来的查询进行亚秒级返回一直是企业应用中的一个痛点。 在这种情况下,Apache Kylin应运而生。不同于“大规模并行处理”(Massive Parallel

Numpy详细教程

拟墨画扇 提交于 2019-12-14 12:06:34
NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。 Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray ,它拥有一些额外的功能。 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包。 这个开源项目有很多贡献者。 Numpy基础 NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。在 NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)。 例如,在3D空间一个点的坐标[1, 2, 3]是一个秩为1的数组,因为它只有一个轴。那个轴长度为3.又例如,在以下例子中,数组的秩为2(它有两个维度).第一个维度长度为2,第二个维度长度为3. [[ 1., 0., 0.], [ 0., 1., 2.]] NumPy的数组类被称作ndarray。通常被称作数组。注意numpy.array和标准Python库类array.array并不相同,后者只处理一维数组和提供少量功能。更多重要ndarray对象属性有: ndarray.ndim: 数组轴的个数

数据立方体----维度与OLAP

爷,独闯天下 提交于 2019-12-13 18:44:46
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 数据立方体   关于数据立方体(Data Cube),这里必须注意的是数据立方体只是多维模型的一个形象的说法。立方体其本身只有三维,但多 维模型不仅限于三维模型,可以组合更多的维度,但一方面是出于更方便地解释和描述,同时也是给思维成像和想象的空间;另一方面是为了与传统关系型数据库的二维表区别开来,于是就有了数据立方体的叫法。所以本文中也是引用立方体,也就是把多维模型以三维的方式为代表进行展现和描述,其实上Google图片搜索“OLAP”会有一大堆的数据立方体图片,这里我自己画了一个: OLAP    OLAP(On-line Analytical Processing,联机分析处理) 是在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。可以比较下其与传统的OLTP(On-line Transaction Processing,联机事务处理)的区别来看一下它的特点: OLAP与OLTP 数据处理类型 OLTP OLAP 面向对象 业务开发人员 分析决策人员 功能实现 日常事务处理 面向分析决策 数据模型 关系模型 多维模型 数据量 几条或几十条记录 百万千万条记录 操作类型 查询、插入、更新、删除 查询为主 OLAP的类型  

从信息论谈数字孪生系统的大行其道

强颜欢笑 提交于 2019-12-11 13:35:52
  ICT圈子里的人,尤其是学通信的,多多少少都会听说过“信息论”这个词。美国数学家香农于上世纪40年代创建了这个关于信息转换和传输的理论体系。得益于信息论,我们今天才能够方便地使用电子设备进行远程沟通和协作。   那么,信息论这样一个充满数学公式的抽象理论体系跟数字孪生这样一个以呈现为主的应用领域有关系吗?答案是:有。并且,按照信息论中的术语来说,绝对是互信息高,强相关性的两个事物。   自从接触数字孪生以来,有个问题一直困扰着我,就是我们的客户甚至于一些刚入行的同事,都认为 数字孪生系统 除了界面美观和效果炫酷以外,好像没什么更大的用处,一言蔽之:花瓶!而接触过一段时间后,想法改变了,认为数字孪生系统好像有点用处,但是又说不出个所以然来,也只好反反复复地用一些车轱辘话来向客户解释,我们的系统直观易懂,能反应最新的高科技和前卫思想,领导们都很喜欢云云。很多客户一听,是这么回事,既然“我爱学习,学习让我妈快乐”是真理,那么“我买数字孪生,数字孪生让领导开心”必然也不差啊。   于是乎,优锘科技的软件销量一直还不错。   作为一家有情怀的公司,我们从来没有放弃正本清源的信念,而是期望通过理论,尤其是那些被数学严格证明的理论,来解释数字孪生系统存在的科学原理。很巧的是,前段时间刚好读了一些关于信息论的资料,这些资料写得浅显易懂,让资质愚钝的我也能大概了解了其中的部分内容。今天这篇短文

【代码解读】yolov3测试过程

夙愿已清 提交于 2019-12-11 05:32:42
yolov3项目完整的代码_tensorflow版本 一 分析yolov3的测试部分 首先看一下整体的测试代码:Image_demo.py 写了一些注释: import cv2 import numpy as np import core . utils as utils import tensorflow as tf from PIL import Image ###############——————————第1部分:参数定义——————————————############## return_elements = [ "input/input_data:0" , "pred_sbbox/concat_2:0" , "pred_mbbox/concat_2:0" , "pred_lbbox/concat_2:0" ] #加载pb文件的时候,需要 输入节点和输出节点的 tensor返回值, #参考:https://blog.csdn.net/fu6543210/article/details/80343345 pb_file = "./yolov3_coco.pb" image_path = "./docs/images/road.jpeg" num_classes = 80 input_size = 416 graph = tf . Graph ( ) #计算图

链家大数据多维分析引擎实践

被刻印的时光 ゝ 提交于 2019-12-08 22:29:17
前言 大数据背景下,传统关系型多维分析 ROLAP 引擎遇到极大挑战,因而链家转向基于 Hadoop 生态的 MOLAP(Kylin)及 HOLAP (多引擎)。在架构师实践日北京站中,链家大数据集群架构组负责人邓钫元进行演讲,分享了链家在多维分析引擎方面的一些实践经验,主要从 OLAP 的背景和简介、链家多维分析架构演进和展望、OLAP 平台链路优化这三部分来介绍。 一、OLAP 的背景和简介 > > > > 1. OLAP vs OLTP OLAP 翻译成中文叫 联机分析处理 ,OLTP 叫 联机事务处理 。OLTP 它的核心是事务,实际上就是我们常见的数据库。我们业务数据库就是面向于事务。它的并发量会比较高,但是操作的数据量会比较小。它是实时更新的。数据库的设计会按照 3NF 范式,更高的话可能会按照 BC 范式之类的来做。而 OLAP 的核心是分析,面向应用是分析决策,需要分析的数据级会非常大,可能 TB,甚至 PB 都会有。它的数据更新会稍微慢一些,它的设计一般是反范式的,因为面向分析。常见的是雪花模型和星型模型。 实际上 OLAP 是什么呢? 非常简单,就是一个 SQL,这里按照两个维度,一个 returnflag,一个 orderstatus 来做 Group By,然后做一下 Sum,Group By 这段就叫维度,From 这段叫做指标,非常简单。 > > > >

项目 3: 创建用户分类

白昼怎懂夜的黑 提交于 2019-12-06 15:05:54
欢迎来到机器学习工程师纳米学位的第三个项目!在这个notebook文件中,有些模板代码已经提供给你,但你还需要实现更多的功能来完成这个项目。除非有明确要求,你无须修改任何已给出的代码。以 '练习' 开始的标题表示接下来的代码部分中有你必须要实现的功能。每一部分都会有详细的指导,需要实现的部分也会在注释中以 'TODO' 标出。请仔细阅读所有的提示! 除了实现代码外,你还 必须 回答一些与项目和你的实现有关的问题。每一个需要你回答的问题都会以 '问题 X' 为标题。请仔细阅读每个问题,并且在问题后的 '回答' 文字框中写出完整的答案。我们将根据你对问题的回答和撰写代码所实现的功能来对你提交的项目进行评分。 提示: Code 和 Markdown 区域可通过 Shift + Enter 快捷键运行。此外,Markdown可以通过双击进入编辑模式。 开始 在这个项目中,你将分析一个数据集的内在结构,这个数据集包含很多客户真对不同类型产品的年度采购额(用 金额 表示)。这个项目的任务之一是如何最好地描述一个批发商不同种类顾客之间的差异。这样做将能够使得批发商能够更好的组织他们的物流服务以满足每个客户的需求。 这个项目的数据集能够在 UCI机器学习信息库 中找到.因为这个项目的目的,分析将不会包括'Channel'和'Region'这两个特征——重点集中在6个记录的客户购买的产品类别上。

优达(Udacity)customer_segments

我与影子孤独终老i 提交于 2019-12-06 15:04:50
github地址 机器学习纳米学位 非监督学习 项目 3: 创建用户分类 欢迎来到机器学习工程师纳米学位的第三个项目!在这个notebook文件中,有些模板代码已经提供给你,但你还需要实现更多的功能来完成这个项目。除非有明确要求,你无须修改任何已给出的代码。以 ‘练习’ 开始的标题表示接下来的代码部分中有你必须要实现的功能。每一部分都会有详细的指导,需要实现的部分也会在注释中以 ‘TODO’ 标出。请仔细阅读所有的提示! 除了实现代码外,你还 必须 回答一些与项目和你的实现有关的问题。每一个需要你回答的问题都会以 ‘问题 X’ 为标题。请仔细阅读每个问题,并且在问题后的 ‘回答’ 文字框中写出完整的答案。我们将根据你对问题的回答和撰写代码所实现的功能来对你提交的项目进行评分。 提示:**Code 和 Markdown 区域可通过 **Shift + Enter 快捷键运行。此外,Markdown可以通过双击进入编辑模式。 开始 在这个项目中,你将分析一个数据集的内在结构,这个数据集包含很多客户真对不同类型产品的年度采购额(用 金额 表示)。这个项目的任务之一是如何最好地描述一个批发商不同种类顾客之间的差异。这样做将能够使得批发商能够更好的组织他们的物流服务以满足每个客户的需求。 这个项目的数据集能够在 UCI机器学习信息库 中找到.因为这个项目的目的,分析将不会包括’Channel

机器学习:数据清洗和特征选择

孤街醉人 提交于 2019-12-06 07:01:23
数据清洗和特征选择 数据清洗 清洗过程 数据预处理: 选择数据处理工具:数据库、Python相应的包; 查看数据的元数据及数据特征; 清理异常样本数据: 处理格式或者内容错误的数据; 处理逻辑错误数据:数据去重,去除/替换不合理的值,去除/重构不可靠的字段值; 处理不需要的数据:在进行该过程时,要注意备份原始数据; 处理关联性验证错误的数据:常应用于多数据源合并的过程中。 采样: 数据不均衡处理:上采样、下采样、SMOTE算法 样本的权重问题 数据不平衡 在实际应用中,数据的分布往往是不均匀的,会出现"长尾现象",即绝大多数的数据在一个范围/属于一个类别,而在另外一个范围或者类别中,只有很少一部分数据。此时直接采用机器学习效果不会很好,因此需要对数据进行转换操作。 长尾效应: 解决方案01 设置损失函数的权重, 使得少数类别数据判断错误的损失大于多数类别数据判断错误的损失 ,即:当我们的少数类别数据预测错误的时候,会产生一个比较大的损失值,从而导致模型参数往让少数类别数据预测准确的方向偏。 可通过设置sklearn中的class_weight参数来设置权重。 解决方案02 下采样/欠采样(under sampling): 从多数类中随机抽取样本从而减少多数类别样本数据 ,使数据达到平衡的方式。 集成下采样/欠采样:采用普通的下采样方式会导致信息丢失

python numpy的基本操作

三世轮回 提交于 2019-12-06 01:09:23
站长资讯平台 :文章目录 0、NumPy 与 ndarry 1、数组属性查看:类型、尺寸、形状、维度 2、numpy元素中数据存储方式,数据类型,类型转换 2.1 查看元素数据存储类型 2.2 元素数据存储类型转换 3、List类型与numpy. ndarray类型的互相转换 4、创建 ndarray 数组 4.1 方法一:列表转换 4.2 zero,ones,empty函数创建特殊数组 4.3 arrange linspace 创建线性数组 5、矩阵的索引与打印 6、矩阵的运算 6.1 基础运算 6.2 点乘 6.3 其他矩阵特征运算 6.3 排序、转置、数值裁剪 7、其他操作 7.1 横纵向的拼接 7.2 矩阵添加或拼接新元素(append或concatenate) 7.3 新增维度 7.4 增减数组维度 7.5 矩阵的切片 7.6 reshape,ravel,flatten,transpose,shape,resize更改数组形状 8、常用操作 8.1 元素平方和 8.2 numpy转换成tensorflow的tensor LAST、未来得及添加的内容 0、NumPy 与 ndarry NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生。 它提供: 快速高效的多维数组对象 ndarray; 直接对数组执行数学运算及对数组执行元素级计算的函数;