拉链表

0x00 前言 本文将会谈一谈在数据仓库中拉链表相关的内容,包括它的原理、设计、以及在我们大数据场景下的实现方式。 全文由下面几个部分组成: 先分享一下拉链表的用途、什么是拉链表。 通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别。 举一个具体的应用场景,来设计并实现一份拉链表,最后并通过一些例子说明如何使用我们设计的这张表(因为现在Hive的大规模使用,我们会以Hive场景下的设计为例)。 分析一下拉链表的优缺点,并对前面的提到的一些内容进行补充说明,比如说拉链表和流水表的区别。 0x01 什么是拉链表 拉链表是针对数据仓库设计中表存储数据的方式而定义的,顾名思义,所谓拉链,就是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息。 我们先看一个示例,这就是一张拉链表,存储的是用户的最基本信息以及每条记录的生命周期。我们可以使用这张表拿到最新的当天的最新数据以及之前的历史数据。 我们暂且不对这张表做细致的讲解,后文会专门来阐述怎么来设计、实现和使用它。 拉链表的使用场景 在数据仓库的数据模型设计过程中,经常会遇到下面这种表的设计: 有一些表的数据量很大,比如一张用户表,大约10亿条记录,50个字段,这种表,即使使用ORC压缩,单张表的存储也会超过100G,在HDFS使用双备份或者三备份的话就更大一些。 表中的部分字段会被update更新操作,如用户联系方式,产品的描述信息,订单的状态等等。 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态。 表中的记录变化的比例和频率不是很大,比如,总共有10亿的用户,每天新增和发生变化的有200万左右,变化的比例占的很小。 那么对于这种表我该如何设计呢?下面有几种方案可选:

Read more

关于国际国内物联网技术在自然资源相关领域应用情况的调研报告

物联网是利用信息传感设备,通过互联通讯网络进行信息传输交换,实现对目标要素的智能化识别、定位、监控以及管理等,是新一代信息技术的高度集成和综合运用,有利于提升信息获取精准度和交流效率,促进生产生活和社会管理方式向智能化、精细化、网络化方向转变,对于提高综合信息化水平、促进产业结构调整和发展方式转变、推进国家治理能力现代化等具有重要意义。物联网的发展在自然资源精细化管理中有很高的潜在价值。因此,测绘发展研究中心调研了国内外物联网在自然资源领域的应用现状和相关工作,现将其整理,供决策参考。 一、国外物联网在自然资源领域应用发展现状 (一)美国 美国作为物联网技术的倡导者和先行者之一,凭借其在互联网时代积累起来的在芯片、软件、互联网和高端应用集成等领域强大的技术优势,大力推进射频识别技术(RFID)、传感器和机器对机器通信技术(M2M)等应用,物联网产业发展已经取得显著成效。2008年11月,IBM公司发布了《智慧地球:下一代领导人议程》,提出“人类将实现智能基础设施与物理基础设施的全面融合,实现IT与各行各业的深度融合,从而以科学和智慧的方式对社会系统和自然系统实施管理”。2008年12月,奥巴马向IBM咨询了智慧地球有关细节,并就投资智能基础设施对于经济的促进效果进行了研究。 生态领域。2011年,美国启动大陆尺度国家生态观测站网络计划,研究从区域到大陆尺度的重要生态问题。“网络计划”基于传感器网络和卫星遥感技术,部署了一个由约15000个传感器和若干个空间卫星节点组成的“天地一体”观测网络,在今后至少30年内为科学家大范围收集土壤、水、植物以及小型哺乳动物等500类生态环境数据,供土地利用和碳汇监测等工作分析使用。 农业领域。1966-2014年,美国先后出台了6项与农业信息化相关的法律法规和发展计划,为“智慧农业”及其产业链条的发展提供了良好的政策环境和财政支持。20世纪80年代,美国率先提出“精确农业”的构想,为“智慧农业”奠定了良好的发展基础。智慧农业是借助农业物联网及大数据分析,利用红外成像系统、卫星、生物量地图系统、使用产量监控器、GPS、耕种区域地图、耕种作物种类和植物种群信息、大数据分析平台等,实现了农产品全生命周期和全生产流程的数据共享及智能决策。此外,美国有100多个信息收集处,每天汇总分析并发布全美各类农业信息;大量农业基础数据是公开的资源,行业壁垒低,加之农场主对技术服务尤其对基于大数据的决策支持的迫切需求,使大数据公司层出不穷且呈蓬勃发展之势。AGRI-COLA、AGRIS、Preview等多个强大数据库及物联网科技等创新成果给美国“智慧农业”及其产业链条的发展提供了优越的科研资源和技术条件。 海洋领域。美国国防部高级研究计划局于2017年推出海上物联网(SIoT)项目,通过成千上万个小型、低成本的智能漂浮传感器,收集舰船、飞机和海洋生物在该海域活动的状态信息,并通过卫星网络进行云端存储和实时分析,进一步提升美军的海洋持续态势感知能力。同时也对海底资产以及其他海底环境数据实时监测,监测参数包括温度、设备磨损状况、陀螺仪位置、加速度计读数等。卡特琳娜海洋牧场与NOAA科研机构合作开展了海洋物联网项目,利用海军海洋气象自动装置(NOMAD)浮标,自动收集并传输各种海洋数据,评估环境影响和优化农业作业。2017年,在NOMAD平台上增加了“图像流细胞机器人”潜水装置,利用机载显微镜和机器视觉分析水中的颗粒,监测有害藻类的大量繁殖。 林业领域。兰卡斯特大学管理学院的Edward Truch教授于2018年2月发布《智慧公园》报告,指出利用物联网技术,通过Smart Earth Network等APP共享轨迹和观察数据,协助公园护林员保护脆弱物种保护和发现入侵物种,为游客和露营者提供所在地恶劣天气实时警报等重要求生信息,构建信息实时交互的网络系统。 (二)日本 日本政府高度重视物联网,发展物联网起步较早。2000年以来,日本政府先后发布了“e-Japan(2000-2005年)”、“u-Japan(2006-2010年)”战略、“ICT维新愿景2.0(2010-2020年)”和“i-japan战略(2015)”等,有力地促进了物联网发展。通过实施这些战略,日本推动了物联网在远程监测、车联网以及灾难应对等方面的应用,整体技术水平居世界前列。 日本通过综合使用RFID、红外感应、无线局域网等技术,构建了自成体系的物联网/泛在网络,在作物监测与保护、产品追溯等多个方面开展实际应用。“鸟(兽)害对策支持系统”可辅助农民驱赶野生动物,防止农作物遭野生动物破坏或啃食;产品追溯系统可实现对农林产品流通管理和个体识别等。 农业领域。日本一直把发展高效农业作为发展本国农业信息技术化的重要目标。2004年,日本总务省发布的u-Japan计划提出,到2020年农业物联网将达到580亿至600亿日元规模,农业云端计算技术的运用占农业市场的75%。此外,日本政府还计划在10年内以农业物联网为信息主体源,普及农用机器人,预计2020年农用机器人的市场规模将达到50亿日元[1]。目前,日本主要由日立等大型科技公司牵头研发农业物联网技术,开展农业物联网设备研制,并借助协会和政府力量在农业生产过程中进行推广与应用,如智能大棚利用物联网技术,通过建立无线网络,连接监视摄像头、土壤传感器、日照传感器、气温传感器、二氧化碳排放传感器等设备,最终传输到控制终端或数据终端[2]。 能源领域。2016年,日本政府综合科技创新会议发布《能源环境技术创新战略2050》,强调要利用大数据分析、人工智能、先进的传感器和物联网技术构建一系列智能能源集成管理系统,以实现对建筑、交通和家庭用电信息的实时监测、采集和分析,从而实现对用户用电情况实时性、全局性和系统性地远程调控、优化管理,实现“管理节能”和“绿色用能”[3],以实现2050年全球温室气体排放减半和构建新型能源体系的目标。 (三)澳大利亚 澳大利亚于2016年发布《国家网络安全战略(修订版)》,部署物联网经济发展战略,保障物联网合理健康发展,提高物联网设备安全性、降低政府IT系统供应链风险等。昆士兰州的詹姆斯·库克大学与华为合作,在凯恩斯市的实验室研发了最新一代的窄带物联网(NB-IoT)应用;思科在珀斯和悉尼分别设置了创新中心,研究物联网在农业、宇航、资源和智慧城市等产业领域的应用。澳大利亚组建了卫星物联网,通过布局卫星平台,创建实时、全天候直接到轨物联网的全球平台,实现超低成本、可扩展的物联网,提供全球级的物联网服务。澳大利亚物联网初创公司Myriota的商业卫星已搭乘SpaceX公司“猎鹰”-9火箭发射入轨,补充了现有的卫星星座,同时引入终端前向链路,未来将建成能够为数以亿计的物联网设备提供直接到轨通信的物联网络。 生态领域。基于物联网、自动观测、融合地面和遥感观测,构建了生态观测研究网络(TERN)。 海洋领域。澳大利亚海洋科学研究所AIMS与物联网初创公司Myriota合作,监测位置、洋流、海洋表面水温和气压等海洋信息。

Read more