首页 >>  正文

hive创建文本表

来源:baiyundou.net   日期:2024-09-23

强大的BI平台技术及政务智能BI应用,为政府行政管理和服务提供了新的工具和手段。具体怎么实现?这篇文章里,作者就总结了政务智能BI的建设,一起来看看本文的梳理和拆解。

现代信息技术发展到今天,政务智能BI的应用到政府的行政管理和公众服务开辟了信息技术的重要应用领域,同时也为政府行政管理和服务提供了新的工具和手段。

政务活动与数据治理技术的结合,一方面扩大了智能BI行业的市场,在新的需求下促进智能BI不断的往纵深的发展和完善;另一方面,采用强大的BI平台技术,大数据分析技术,使行政管理和公众服务增加了新的内容,改变了行政方式,提高了行政效率。

一、BI平台建设的背景

伴随着政务信息化的发展,BI也也逐步成为政府办公的标配,在大数据、数据中台的生态环境的加成下,政务BI平台以大数据基础为支撑,提供了便捷易用的数据可视化操作与灵活高效的多维分析能力。

下面我们先聊一下什么是政务BI,政务BI起源于商业BI,从技术层面来说,都是指使用数据仓库技术、OLAP在线分析处理技术,数据挖掘和展现技术进行数据的“采,存,管,用”,从而实现政务价值。

简单来说,政务BI也是一款数据工具,一款可以进行数据分析并输出分析成果的工具,或者说是一套可以为政府领导实时查看信息,提供决策依据的数据分析解决方案。

如下本人项目的原型图:

二、政务BI产品架构设计

当得到政务BI平台建设项目的时候,首位接棒者就是数据产品经理,其要做的工作和常规的产品设计工作类似,首先要进行项目调研,对产品形态有大致的了解,进而梳理产品使用流程,完成功能架构设计,由此确定产品的需求范围和功能的边界。

1)产品的使用流程

以用户为切入点,我们可将用户分为内容的加工者:使用BI平台进行数据处理,数据分析与可视化制作的人群(一般是供应商或一线公务员);内容使用者:查阅报表的人群(一般就是领导级别)。

2)产品的框架设计常见的框架设计方式有:

  • 按照产品的功能模块展开设计:如果产品相对独立,或者对上下游的依赖关系清晰,可选用以产品的功能模块为切入点,进行产品架构设计。
  • 按照产品的业务逻辑展开设计:如果产品与企业多个系统存在依赖关系与数据流转关系,且系统角色复杂,可通过产品的业务逻辑来进行产品架构设计,在设计前,需要补充各业务模块的数据流转逻辑和页面交互。

三、政务BI产品功能详解

需求实现的方式有很多,“条条大路通罗马”,可供选择的实现逻辑也有很多。一般而言,政务智能BI也可以以下方式实现:

1. 数据的接入

如果要自上而下的讲解BI产品架构,首先要说的应该是基础服务,不过基础服务功能都是通用的,不管是商业BI,还是政务BI。所以这里从BI平台使用的主流程开始讲:

数据接入,顾名思义就是把源数据,外部数据接入BI平台,比如可以从Hadoop大数据平台(可以看做是新一代的数据仓库系统),政府其他部门的数据中台等接入。

简单来说,政务BI平台也一样,使用适配的数据源类型有:

  • 大数据平台:企业级数据仓库,常用Hadoop大数据平台,如Hive等。
  • 关系型数据库:可以通过JDBC接口实时访问的的数据库,如MySQL。
  • 文本数据源:文本文件如Excel,CSV。
  • API数据源:对外提供标准的API接口。
  • 内置数据源:内置的无须用户添加即可使用的数据,如天气数据,人口数据,移动应用数据等。

在进行具体的功能设计时,产品需要秉持“增删改查空异常”的七字真言,这是产品设计最基础最通用的设计准则。

2. 数据的处理

通过对已接入数据源的数据表进行二次计算等操作,创建新的数据集,以便进行数据的筛选与清洗、数据的标记、转换等。

数据集,顾名思义就是数据的集合,就是一张张新的数据中间表。为了提高用户的可视化分析取数的效率,政务BI平台也会建设一个中间层(分布式数据库)存储各类数据集,避免每次数据的调用都需要重新进行底层的取数与计算。

大概可以分为以下3种方式:

1)数据表类:最直接最简单最常用的数据加工方式,从指定的数据源中选择想要的获取的数据表,进行数据的抽取,保存操作即可。

2)SQL类:就是通过编写SQL语句的方式实现的,基本功能就是为用户提供SQL语法的编写能力。可以实现一些高级及有的深度的功能。

3)自助配置类:就是通过用户界面操作数据集,自助配置类降低了数据的操作门槛,具体实现流程有:

  • 数据的过滤:界面可视化进行数据的过滤。
  • 分组汇总:比如:需要根据某社区的居民明细表,统计该社区中各楼栋的住户数,起对应的SQL语句是SELECT COUNT(*) FROM <表名> GROUP BY <楼栋字段>。
  • 新增字段:新增字段属于相对复杂的处理动作,需要引入很多函数来实现多字段的二次计算。
  • 多表合并:通过SQL语句进行多表合并,主要是左右合并(JOIN操作)和上下合并(UNION操作)两类,这也需要有一定的编程基础,理解JOIN和UNION是实现逻辑。

(这里再补充一下,产品经理是必须要懂一定程度的编程技术的,编程世界的一些原理,概念其实都是来自于现实生活的高度抽象,改变世界的其实一直都是技术而不是产品,哈哈)

3. 可视化分析

前面说BI平台的内容生产流程时,我们说到从数据源到数据集的生产过程,对应着上文的数据接入与数据处理,而从数据集到图表,再到仪表板(Dashboard),就是数据可视化应用的过程了。

在日常的工作中,业务分析人员使用BI平台进行OLAP操作,并将数据分析的内容分发给其他人,就产生了报表或者数据大屏的展现效果。然后,将图表(组件)抽离出来,作为一个独立的模块,在创建仪表板时,业务优先创建图表,然后再将多个图表组装成仪表板,最终就可以形成一份份有价值的数据可视化。具体为:

  • 数据加工分析:还应根据实际需要进行一些临时的数据加工,如新增同比环比,设置维度与设置指标
  • 图表设置:目前基本的图表类型有卡片、表格、折线图、柱状图、饼图与漏斗图等,复杂的图表类型有热力图、树形图等等,百度的Apache ECharts 是目前国内应用最广,能力最全面的开源可视化图表库,大家可以参考一下。
  • 仪表板设置:包括过滤条件的设置,可实现数据的穿透与交叉分析。图表联动的设置,当筛选某个字段时,其他关联数据可以联动的切换。

这些常规的操作,我们在设计可视化的时候就要考虑好~~~~~~~~

4. 内容分发

内容分发,顾名思义就是把内容分发给用户。BI平台常用的内容分发渠道包括BI报表查看平台(PC)、移动BI(App)、数据大屏、邮件分发、URL分发与嵌入分发等。

报表数据的权限如何控制?如何实现权限的自动增删?不同的场景应用下如何拆分问题?

大致可以下方式去解决:

  • 用户:拆分用户主体下的最小单元,选择用户,选择报表,设置数据权限,从而完成报表分发。
  • 报表:拆分报表主体下的最小单元,选择报表,设置数据权限,选择用户,从而完成报表分发。

四、更加灵活的移动政务BI

1. 内容分发的窗口

一把手、二把手可以查看所管辖区域关键经济运行数据,人口数据等;发改委可以查看城市更新数据,旧村改造数据等;教育局可以查看当地的教育资源分配,就业情况等;交通局可以查看城市交通运行情况……这些信息很多时候是需要实时查看的,那就要有实时统计,并展现的载体:

本人推荐三种移动端信息架构形式:列表、网格、轮播(比如帆软FineReport支持的报表嵌入其他应用等)

2. 数据分析的工具

我们需要结合业务需求对底层数据进行萃取,选取常用的指标与维度抽象成指标库和维度库,作为移动BI用户数据分析的原材料。

1)指标库-数据萃取

主要包括指标的查看与申请、指标的维护,指标的分组管理、指标的说明等等

2)维度库-权限的管控

举例,我们为某市管辖下某区发改委分配“全区工业投资总额”数据时,在为其分配“全区工业投资总额”这个指标的同时,还需要限制维度为“全市”还是“全市下的某区”,以避免数据权限外溢,因此,维度管理是权限管控的最直接手段。

3)数据分析-乐高模式

数据分析的操作流程简单来说就是选择有利于数据可视化展示的图形,选取指标和设置维度3大步骤,具体来说就是将功能拆分成一个个“乐高”部件,用户可以按照自身的需要组装成各自的“乐高城堡”,最终达到自己想要的效果。

五、政务智能BI总结

随着政府与公共部门各级决策者对经济发展、城市管理、社会民生、治安、交通、教育、卫生等问题的日益重视,迫切需要建设一个涵盖各业务数据统计等于一体的BI数据分析平台,方便市政府各级决策者快速掌握相关情况、处理相关事务。

不管是PC端,移动端,还是大屏端,政务智能BI都不仅仅是数据分析的工具,它们输出的是政府决策辅助的服务能力,是为了让数据产生更多的行政、施政业务价值。

从传统的BI到敏捷商业BI,再到如今大数据体系下的政务智能BI,BI平台与政府业务越来越融合。BI平台对于数据资源管理的方案优势,提升了其获取底层数据的能力,这让数据对政府业务场景的描述越来越丰满,政务智能BI具备的更强的处理具体政务业务场景的能力。

本文由 @短剑在闲逛 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自 Unsplash,基于 CC0 协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

","gnid":"9b680f2ee1cd45c37","img_data":[{"flag":2,"img":[{"desc":"","height":"420","title":"","url":"https://p0.ssl.img.360kuai.com/t014003ca5749cc9bf8.jpg","width":"900"},{"desc":"","height":629,"title":"","url":"https://p0.ssl.img.360kuai.com/t017f8f5a202e43be7a.jpg","width":1280},{"desc":"","height":"741","title":"","url":"https://p0.ssl.img.360kuai.com/t01575bfa1e88c49e95.jpg","width":"1000"},{"desc":"","height":740,"title":"","url":"https://p0.ssl.img.360kuai.com/t01af74511f7cc5c8f0.jpg","width":1280}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"pika","pub_time":1701660480000,"pure":"","rawurl":"http://zm.news.so.com/f6e6c30891ed97b0299d78814ea13899","redirect":0,"rptid":"3daade7189a332fc","rss_ext":[],"s":"t","src":"人人都是产品经理","tag":[{"clk":"ktechnology_1:大数据","k":"大数据","u":""}],"title":"大数据体系下的政务智能BI建设

薄泉狱4603hive建表时partitioned分区字段类型只能用string吗?可以用其他的字段类型吗? -
危帝维18641838995 ______ 可以呀,根据自己的需求指定就行了!但是一般情况用string的!比如:use dw; drop table if exists xxxxx; CREATE TABLE xxxxx ( time string,user_id int,keyword string) comment "记录表" partitioned by (ds string, hour string, type int) stored as textfile;

薄泉狱4603hive 怎么添加 表注释语法 -
危帝维18641838995 ______ 要添加注释,只需要用单引号'作为注释文字的开头.注释符告诉Visual Basic,忽略这个符号后面的内容,这些内容就是代码段中的注释部分,在代码编辑器中以绿色字符显示. 注释可以和语句在同一行,写在语句的后面,也可占据一整行. 例如: '在文本框中放欢迎词. Private Sub Command1_Click() Text1. Text="Hello." '把文本框Text1的属性设置为Hello. End Sub 注意,不能在同一行上把注释接在续行符后面.

薄泉狱4603hive中创建表时为什么不指定主键跟空约束? -
危帝维18641838995 ______ CREATE TABLE test_tab ( id NUMBER primary key, name VARCHAR2(30) ) 创建表时候不用设置主键名称 但是创建好表后,再添加就需要添加上主键约束名称TAST_PK ALTER TABLE TEST_TAB ADD CONSTRAINT TAST_PK PRIMARY KEY(ID);

薄泉狱4603在hive创建一张表在mysql怎么查询不到 -
危帝维18641838995 ______ 你可以先用hive或者手写map/reduce程序.建议你直接使用hive,hive也像mysql一样可以建表.表里的数据就是对应从本地load到hadoop上的文件,格式自己定.然后用JDBC可以像操作mysql一样操作hive(sql语法稍有不同)

薄泉狱4603hive如何获取shell当天日期,并创建分区表 -
危帝维18641838995 ______ 方法一:利用编辑器直接插入控制字符,以Vi为例.进入Vi:Shell代码收藏代码$visupply-20110101.txt在Vi命令模式下,键入:setlist,设置控制字符可见,成功后Vi会立即显示一个行结束标志$.填入Hive表中需要的每列数据,比如我这里需要创建一个...

薄泉狱4603mysql和hive建表的区别 -
危帝维18641838995 ______ 当然不是,hive支持jdbc和odbc数据源连接,可以连接很多种数据库,mysql、oracle等等等等,它自己的metastore用的就是derbyDB. 具体的连接方法在官网上有说明,使用odbc需要重新编译相关组件.hive通过jdbc连接其他数据库的教程在google上一搜 应该是Hadoop在hbase和Hive中的作用吧. hbase与hive都是架构在hadoop之上的.都是用hadoop作为底层存储.而hbase是作为分布式数据库,而hive是作为分布式数据仓库.当然hive还是借用hadoop的MapReduce来完成一些hive中的命令的执行.

薄泉狱4603如何将json数据导入到Hive中 -
危帝维18641838995 ______ 目前我知道的方法是把你希望添加的数据写入到文本中,然后从文本导入到你的表格中. 但是,hive不知道oracle的insert into , update. load data [local] inpath 'yourfile_location' [overwrite] into your_table;

薄泉狱4603MVC中使用JsonResult返回Json格式数据 -
危帝维18641838995 ______ [HttpPost] [UserAuthorizeFilter(PermissionActionType = PermissionActionType.View)] public JsonResult GetProjectCatalogByProjectClassID() { try { string searchValue = Request.Params["filter[filters][0][value]"]; if (string.IsNullOrEmpty(...

薄泉狱4603hive 创建hbase的外部表的key可以指定为其他列吗 -
危帝维18641838995 ______ 两种方式:一,建立一个hive和hbase公用的表,这样可以使用hive操作hbase的表,但是插入数据较慢,不建议这样做. 二,手写mapreduce,把hive里面的数据转换为hfile,然后倒入.hbase的mapreduce接口里面好像也有对应的api可以直接导入的.

薄泉狱4603怎么通过命令修改注册表项的权限??
危帝维18641838995 ______ 其实很简单, 在注册表右边的项目上右击,选择权限,设置权限即可.

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024