Hive分区表、分桶表
分区表分区是将一个表或索引物理地分解为多个更小、更可管理的部分。分区对应用透明,即对访问数据库的应用而言,逻辑上讲只有一个表或一个索引(相当于应用“看到”的只是一个表或索引),但在物理上这个表或索引可能由数十个物理分区组成。 在 Hadoop 中,Hive 分区表通常以特定的目录结构来存储。每个分区对应一个独立的目录,目录名通常包含分区列的值。数据文件会存储在相应的分区目录下。 分桶表•分区提供一个隔离数据和优化查询的便利方式。不过,并非所有的数据集都可形成合理的分区。对于一张表或者分区,Hive 可以进一步组织成桶,也就是更为细粒度的数据范围划分。 •分桶是将数据集分解成更容易管理的若干部分的另一个技术。 •分区针对的是数据的存储路径;分桶针对的是数据文件。 分桶策略:Hive的分桶采用对分桶字段的值进行哈希,然后除以桶的个数求余的方 式决定该条记录存放在哪个桶当中。 分区表 分桶表 划分依据 分区列的离散值(目录分割) 分桶列的哈希值(文件分割) 数量灵活性 分区数量可动态新增 桶数量固定(创建时指定) 优化目标 减少扫描范围(过滤查询) 优化 Join...
Hive复合数据类型、相关函数
Hive复合数据类型通过以下三种复合类型,Hive 能够高效处理半结构化数据(如日志、JSON),避免频繁进行表连接操作 array 数组array<value数据类型>存储同类型元素的有序集合,元素通过索引访问(从 0 开始) 12345--查询复合数据select a_score[0] from student2--构造复合数据-arrayselect array(值,值) from student struct 集合struct<key值:value数据类型,key值:value数据类型>存储不同类型字段的集合,每个字段有名称和类型,通过点号(.)访问 12345--查询复合数据select s_score.chinese from student2--构造复合数据select named_struct(key,value,key,value) from student map 字典map<key数据类型,value数据类型>存储键值对(Key-Value)集合,键必须唯一,通过键访问值 12345--查询复合数据select m_...
Python连接Hive
hadoop上传数据12345hadoop dfs -mkdir /emphadoop dfs -put emp0901.txt /emp/hadoop dfs -mkdir /studenthadoop dfs -put student2.csv /student/ 处理student2.txt表12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849import jsondef transform_student_data(input_file, output_file): """ 将JSON格式的学生数据转换为CSV格式 参数: input_file: 输入JSON数据文件路径 output_file: 输出CSV文件路径 """ try: with open(input_file, 'r', encoding=...
6.25 Hive安装、配置beeline
安装mysql12345678910111213141516#下载安装源wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm# 安装 mysql 源yum localinstall mysql57-community-release-el7-11.noarch.rpm# 导入keyrpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 修改国内源vim /etc/yum.repos.d/mysql-community.repo修改 baseurl 为 https://mirrors.cloud.tencent.com/mysql/yum/mysql-5.7-community-el7-x86_64/#安装mysqlyum install -y mysql-community-server 安装Hive12345678910111213#解压apache-hive-3.1.2-bin.tar.gz到/opt/module/...
6.24 Hadoop部署
Hadoop简介 Hadoop是一个由Apache基金会所开发的分布式系统基础架构 主要解决,海量数据的存储和海量数据的分析计算问题 广义上来说,Hadoop通常是指一个更广泛的概念-Hadoop生态圈 分布式存储Hadoop 的分布式存储主要基于 HDFS(分布式文件系统):HDFS将数据分割成多个数据块(block),这些数据块分散存储在集群中的不同节点上。每个数据块会有多个副本,通常默认是 3 个副本.采用分布式存储在不同的节点上,提高了数据的可靠性和容错性。 Hadoop的分布式核心组件是MapReduce编程模型:在MapReduce任务中,数据被切分为多个任务,每个任务由或多个节点并行。每个节点负责将输入数据映射为键-值对生成中间结果。最后,中间结果按照键的排序进行合并和归并。 Hadoop组件HDFSHDFS组件用于存储数据,主要由NameNode,DataNode,SecondaryNameNode 组成 NameNode (nn): 存储文件的元数据,如文件名,文件目录结构,文件属性 (生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNo...
帆软报表平台管理、Tomcat 服务器部署
报表平台管理服务器-报表平台管理-登录,使⽤之前设置的账号密码,如: admin admin 修改 FineReport 数据决策系统平台 logo 和标题提前准备⼀张 logo 图⽚,上传,标题修改完回⻋,即完成 ⽤⼾权限设置新增⼀个⽤⼾,实现⼈员登录决策平台可以看到指定的⽬录,指定的⾸⻚添加首页:目录管理-首页管理-添加首页添加用户:用户管理-所有用户-添加用户(也可添加机构部门和角色(小组) 定时发送邮件在 FineReport 管理系统中创建⼀个名为 “test_schedule” 的定时任务,执⾏的报表 为 “销量表” ,每天早上 9 点执⾏⼀次邮件发送 将 “test_schedule” 定时任务授权 给 “test_user” ⽤⼾组,并设置 “test_user” ⽤⼾组可以查看、编辑、删除定时任务。 配置邮件信息:系统管理-邮箱-添加发件人密码为qq邮箱SMTP服务授权码(QQ邮箱-账号与安全-安全设置-生成授权码) 添加定时调度任务 定时任务授权权限管理-管理系统-选择角色-定时调度-解锁 把周杰伦选择到新建的 test_user ⻆⾊⾥⾯ 左上...
Obsidian+Hexo图片管理方案
参考教程主要参考:Hexo + Obsidian:解决图片无法显示问题 | andy’s blog Obsidian配置可选参考:如何让Obsidian的图片存储形式设置为 ./${filename}.assets 设置obsidian仓库此方法只对一个文章仓库有效,即将hexo博客根目录同时设置为obsidian的文章根目录,方法为使用obsidian打开博客根目录(_config.yml文件所在目录,有一个source文件夹) obsidian安装插件 Custom Attachment Location设置→第三方插件→关闭安全模式→社区插件市场→浏览→输入Custom Attachment Location→点击安装并启动 设置 Location for New Attachments设置为source/images/${filename}即将粘贴在文章中的图片保存在文章根目录(也是博客根目录)下的source文件夹下的images文件夹下的一个文件夹中(以当前笔记文件名命名) tips:./为当前笔记所在目录,${filename...
帆软企业大屏开发
大屏开发-数据可视化平台新建模板:文件-新建其他模板-新建决策报表-新建空白模板-确定布局方式:模板-PC端自适应属性-布局方式:绝对布局-报表缩放设置:双向自适应-设置方式:为该模板单独设置-字体:不自适应背景设置:组件设置-body-背景设置-自定义-选择图片-拉伸组件样式(背景)设置:属性-样式设置-自定义-主体填充-图片-选择图片-拉伸-不透明度100-外沿样式-内边距0添加数据:内置数据集-表设计:设置表结构(列名,数据类型),插入行:添加数据 添加图表轮播 界面设计 PC端预览 移动端开发-学生成绩设置移动端属性:模板-移动端属性-勾选设置为手机端模板-自适应属性自动匹配-确定 准备数据集 123456789101112131415显示班级 select * from stscore 折线图 select classno,course,avg(grade) from stscore where classno='${班级}' group by classno,course 列表 select * from stsco...
6.17帆软FineReport填报功能
1.添加员工信息1.设计界⾯ 在属性⾯板的控件设置 每⼀个选择合适的类型 下拉框需要选择数据字典, 控件可以设置约束2.⼯具栏 模版 报表填报属性 添加内置 sql ,选择数据表,选择对应单元格,确定3.预览的时候选择下拉箭头下的填报预览,输⼊信息后点击左上⻆的提交,则提⽰成 功,去数据库查询验证是否插⼊成功 2.增删改员⼯信息导航功能完成数据量⻓的情况可以修改⽹⻚⼤⼩ ⼯具栏 模版 ⻚⾯设置 修改尺⼨⼤些 , 设计⻚⾯ 在数 据单元格选择控件类型 , 报表填报属性选择智能 , 选择填报预览 3.增删改员⼯信息单元格按钮完成,给出提⽰,并且添加自动刷新设置回调函数 12345if (fr_submitinfo.success) { FR.Msg.toast('当前行删除成功'); } else { FR.Msg.toast('当前行删除失败,错误信息为:' + fr_submitinfo.failinfo); } 删除7777 修改 添加点击事件(自动刷新) 1_g().re...
帆软FineReport
帆软 FineReport 是一款由帆软公司自主研发的企业级报表工具,主要用于解决企业内部数据展示、数据分析和报表管理等需求。它提供了直观的拖拽式设计界面,支持多种数据源连接,并能够生成各种复杂格式的报表。以下是其主要特点和功能的概述: 核心功能 多数据源整合 支持连接各类数据库(如 Oracle、MySQL、SQL Server)、Excel 文件、CSV 文件,甚至可以整合不同数据源的数据到同一张报表中。 丰富的报表模板 提供多种预设模板,包括表格报表、图表报表、交叉表、中国式复杂报表等,满足不同场景需求。 强大的计算能力 内置丰富的函数库,支持复杂的公式计算、聚合分析和数据处理,如行列计算、分组统计、同比环比等。 数据可视化 支持多种图表类型(柱状图、折线图、饼图、雷达图等),并提供交互式图表功能,如钻取、联动、参数筛选等。 权限管理与安全 提供细致的权限控制,可按用户、角色、部门分配不同的报表查看、编辑和导出权限,保障数据安全。 定时调度与分发 支持设置定时任务自动生成报表,并通过邮件、短信、FTP 等方式将报表分发给指定人员。 移动端适配 报表可自动适配手机...