当前位置: 首页 > news >正文

数据仓库技术及应用(练习1)

1.创表

(1)customers.csv

CREATE EXTERNAL TABLE IF NOT EXISTS customers (  
customer_id int,  
customer_fname varchar(45),  
customer_lname varchar(45),  
customer_email varchar(45),  
customer_password varchar(45),  
customer_street varchar(255),   
customer_city varchar(45),
customer_state varchar(45),  
customer_zipcode varchar(45) 
)
ROW FORMAT  serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
with serdeproperties ("separatorChar"=",")  
LOCATION '/data/retail_db/customers';

(2)categories.csv

CREATE EXTERNAL TABLE IF NOT EXISTS categories (  
category_id int,  
category_department_id int,  
category_name varchar(45)
) 
ROW FORMAT  serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
with serdeproperties ("separatorChar"=",")  
LOCATION '/data/retail_db/categories';
CREATE EXTERNAL TABLE IF NOT EXISTS departments (  
department_id int,
department_name varchar(45)
) 
ROW FORMAT  serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
with serdeproperties ("separatorChar"=",")  
LOCATION '/data/retail_db/departments';

(3)order_items.csv

CREATE EXTERNAL TABLE IF NOT EXISTS order_items (  
order_item_id int,
order_item_order_id int,  
order_item_product_id int,  
order_item_quantity int,  
order_item_subtotal float,  
order_item_product_price float)
ROW FORMAT  serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
with serdeproperties ("separatorChar"=",")  
LOCATION '/data/retail_db/order_items';

(4)orders.csv

CREATE EXTERNAL TABLE IF NOT EXISTS orders (  
order_id int,  
order_date date,  
order_customer_id int,  
order_status varchar(45)
)
ROW FORMAT  serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
with serdeproperties ("separatorChar"=",")  
LOCATION '/data/retail_db/orders';

(5)products.csv

CREATE EXTERNAL TABLE IF NOT EXISTS products (  
product_id int,  
product_category_id int,
product_name varchar(45),  
product_description varchar(255),  
product_price float,
product_image varchar(255)) 
ROW FORMAT  serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
with serdeproperties ("separatorChar"=",")  
LOCATION '/data/retail_db/products';

2.Hive内置函数操作

  • 在商品表products中,使用字符函数对商品名称product_name进行截取并输出
  • 要求商品名称不高于x个字符
  • 其中x取第10个字符向后最近空格的位置

关键步骤:

Substr()可以实现字符截取

Locate()可以实现x值的获取 

select substr(a.product_name,0,a.loc)
from
(select product_name,locate(" ",product_name,10) as loc
from products) a limit 5;
  • 使用Streaming将顾客表中的顾客名称转换为大写

关键步骤: 运用Shell Sed完成操作转换 sed’/s[a-z]/\u&/g’,可将匹配的小写字符转换为大写

select transform(customer_lname) 
using "/bin/sed '/s[a-z]/\u&/g' " as lname from customers limit 10;

相关文章:

数据仓库技术及应用(练习1)

1.创表 (1)customers.csv CREATE EXTERNAL TABLE IF NOT EXISTS customers ( customer_id int, customer_fname varchar(45), customer_lname varchar(45), customer_email varchar(45), customer_password varchar(45), customer_street …...

老板的“神助攻”:公司电脑监控软件

在当今的商业世界中,企业管理者都希望员工能全身心投入工作,为企业创造更多价值。然而,员工上班摸鱼的现象却让许多老板头疼不已。公司电脑监控软件的出现,为解决这一问题提供了可能。接下来,我们将详细介绍几款优质的…...

前端vue部署网站

这里讲解一下前端vue框架部署网站,使用工具是 xshell 和 xftp (大家去官网安装免费版的就行了) 服务器 我使用的阿里云服务器,买的是 99 一年的,淘宝有新手9.9 一个月服务器。可以去用,学生的话是有免费三…...

Unity3D 动画回调函数详解

在Unity3D中,动画回调函数是实现精细动画效果的重要工具。通过动画回调函数,我们可以在动画的特定时刻执行自定义代码,从而实现更加灵活和复杂的动画效果。本文将详细解释Unity3D中的动画回调函数,并提供相应的代码实现。 对惹&a…...

el-table表格表尾合计行,指定合计某几列,自定义合计方法

🤵 作者:coderYYY 🧑 个人简介:前端程序媛,目前主攻web前端,后端辅助,其他技术知识也会偶尔分享🍀欢迎和我一起交流!🚀(评论和私信一般会回&#…...

一款工具替你解决Mac电脑菜单栏图标杂乱问题

你的菜单栏是不是各种图标挤在一起?图标过多显得杂乱?刘海屏遮挡菜单栏图标?教你如何让你的菜单栏变的简洁美观 iBar,一款Mac上优秀的菜单栏管理工具,可以自主选择菜单栏图标隐藏,单独窗口聚合展示&#x…...

MySQL 基础入门教程

参考视频地址:一小时MySQL教程 bilibili SQL 基础 数据库分为关系型数据库和非关系型数据库 常见的关系型数据库: MySQL、PostgreSQL、Oracle、SQL Server等。 非关系型数据库: MongoDB(文档型数据库)、Redis&am…...

俏生元将传统膳食智慧融入现代生活,自然成分绽放健康光彩

近年来,当代女性健康食品市场正经历快速发展和显著变化。随着女性健康意识的提升,市场对专门针对女性健康的产品需求快速上升。女性消费者对健康的关注不再局限于表面,而是越来越注重内在健康和生活质量的提升。此外,中式养生文化…...

腾讯云推流播放相关

直播的在线人数是否有上限? 腾讯云直播默认不限制观看直播的在线人数,只要网络等条件允许都可以观看直播。如果用户配置了带宽限制,当观看人数过多、超出了限制带宽时新的用户无法观看,此情况下在线人数是有限制的。 如何使用播…...

UE5运行时动态加载场景角色动画任意搭配-相机及运镜(二)

通过《MMD模型及动作一键完美导入UE5》系列文章,我们可以把外部场景、角色、动画资产导入UE5,接下来我们将实现运行时动态加载这些资产,并任意组合搭配。 1、运行时播放相机动画 1、创建1个BlueprintActor,通过这个蓝图动态创建1个LevelSequence,并Play 2、将这个Bluep…...

@JsonAlias和@JSONField序列化和反序列化

com.fasterxml.jackson.annotation.JsonAlias("expressCode") com.alibaba.fastjson.annotation.JSONField(name "expressCode") 这两个注解分别属于不同的JSON序列化框架:Jackson 和 Fastjson,它们的用途是处理JSON字段的名称映射…...

k8s1.27部署ingress 1.11.2

k8s1.27部署ingress 1.11.2 要求: 1、使用主机网络。 2、多节点部署,以来标签:isingressistrue ingress1.11.2支持版本 官方参考链接: https://github.com/kubernetes/ingress-nginx/ 官网yaml https://raw.githubuserconten…...

【运维】自动化运维详解

目录 引言一、什么是自动化运维?二、自动化运维的优势三、自动化运维的关键组成部分详解3.1 监控与告警3.2 部署与配置管理3.3 备份与恢复3.4 安全管理 总结 引言 在当今信息技术飞速发展的时代,企业对IT基础设施的依赖日益增强,传统的人工运…...

线控底盘技术介绍

随着汽车工业的不断发展,传统的机械控制系统逐渐向电子控制系统转变。线控底盘(Drive-by-Wire Chassis)作为这一转变的重要组成部分,正在改变汽车的操控方式和驾驶体验。本文将全面介绍线控底盘的概念、组成、工作原理、优缺点、应…...

DOM对象

DOM概述 官方定义: DOM是W3C制定的一个规范(标准),(Document Object Model,文档对象模型),是提供了访问和操作网页中各元素的方法,让程序可以动态的修改或改变网页元素的内容、样式、结构。 DOM是W3C制定的一个规范…...

[SQL] 数据库图形化安装和使用

一 安装 1.1 图形化安装 下载DataGrip安装包 点击此处一直下一步即可。点击免费使用。 进去界面后,选择新建一个项目 点击加号,创建一个Mysql连接。输入Mysql的连接信息。点击DownLoad下载Mysql的驱动 接下来点击创建的mysq项目中后面的三个点,选择…...

springboot 前后端处理日志

为了实现一个高效且合理的日志记录方案,我们需要在系统架构层面进行细致规划。在某些情况下,一个前端页面可能会调用多个辅助接口来完成整个业务流程,而并非所有这些接口的交互都需要被记录到日志中。为了避免不必要的日志开销,并…...

C++11 简单手撕多线程编程

如何使用线程库 std::thread 创建线程 thread1.join(); 阻塞主线程 thread1.detach(); 线程分离 #include<iostream> #include<thread>void helloworld(std::string msg) {for (int i 0; i < 10000; i){std::cout << i << std::endl;}//std::cou…...

刷c语言练习题7(牛客网)

1、函数fun的声明为int fun(int *p[4]),以下哪个变量可以作为fun的合法参数&#xff08;&#xff09; A、int a[4][4]; B、int **a; C、int **a[4] D、int (*a)[4]; 答案&#xff1a;B 解析&#xff1a;如果是fun的合法参数&#xff0c;那么其类型应该与定义函数fun中的参数类型…...

Web Worker和WebSocket

Web Worker和WebSocket协议都是Web开发中用于处理多线程和实时通信的技术&#xff0c;但它们的应用场景和工作原理有所不同。 Web Worker Web Worker是HTML5引入的一项技术&#xff0c;它允许JavaScript代码在后台线程中运行&#xff0c;从而实现真正的多线程处理。Web Worke…...

XC7Z010-2CLG400I Xilinx Zynq-7000 FPGA

XC7Z010-2CLG400I 可以理解为一颗“ARM 处理器 FPGA 可编程逻辑”合在一起的 SoC。它属于 Xilinx (赛灵思 AMD &#xff09;Zynq-7000 家族里的 Z-7010 器件&#xff0c;核心特点就是把 双核 Arm Cortex-A9 MPCore 处理系统&#xff08;PS&#xff09; 和 7 系列可编程逻辑&am…...

大麦网Python抢票脚本终极指南:告别手速焦虑,轻松获取心仪门票

大麦网Python抢票脚本终极指南&#xff1a;告别手速焦虑&#xff0c;轻松获取心仪门票 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 还在为心仪演唱会门票秒光而烦恼吗&#xff1f;还在为黄牛高…...

别再只用ROC了!用R语言ggplot2为你的Logistic回归模型画个校准曲线(附完整代码)

超越ROC&#xff1a;用R语言打造兼具诊断力与美学的Logistic回归校准曲线 当我们在医学统计或信用评分领域构建预测模型时&#xff0c;常常陷入一个认知陷阱——过度依赖ROC曲线和AUC值作为模型评估的唯一标准。这种单一视角可能掩盖了预测模型中更本质的问题&#xff1a;当模型…...

2026年运动木地板厂家口碑排行榜,谁是真正王者?

随着体育产业的蓬勃发展&#xff0c;运动木地板的需求日益增长。作为体育场馆的重要组成部分&#xff0c;运动木地板的质量直接影响到运动员的表现和观众的体验。那么&#xff0c;在众多运动木地板厂家中&#xff0c;哪家才是真正的王者呢&#xff1f;本文将从产品质量、工艺技…...

AI行业的“伦理困境”:隐私保护、算法偏见与失业问题

在人工智能技术飞速发展的今天&#xff0c;软件测试行业正经历着前所未有的变革。AI测试工具的广泛应用&#xff0c;极大提升了测试效率&#xff0c;改变了传统测试流程。然而&#xff0c;技术进步的同时&#xff0c;一系列伦理困境也随之而来&#xff0c;隐私保护、算法偏见与…...

PotPlayer百度翻译插件终极指南:免费实现20+语言实时字幕翻译

PotPlayer百度翻译插件终极指南&#xff1a;免费实现20语言实时字幕翻译 【免费下载链接】PotPlayer_Subtitle_Translate_Baidu PotPlayer 字幕在线翻译插件 - 百度平台 项目地址: https://gitcode.com/gh_mirrors/po/PotPlayer_Subtitle_Translate_Baidu PotPlayer字幕…...

iOS 27 Siri 自动删除聊天记录:深度解析与行业启示

上周同事跟我吐槽&#xff0c;说他跟Siri聊了点私事&#xff0c;换手机时发现聊天记录全在iCloud里躺着。我跟他说&#xff0c;等iOS 27吧&#xff0c;Siri终于要加自动删除功能了。这个功能不算革命性创新&#xff0c;但方向是对的。下面从用户价值、技术实现和行业影响三个维…...

微信协议逆向工程:从模拟操作到Hook技术的安全检测架构演进

微信协议逆向工程&#xff1a;从模拟操作到Hook技术的安全检测架构演进 【免费下载链接】WechatRealFriends 微信好友关系一键检测&#xff0c;基于微信ipad协议&#xff0c;看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriend…...

CANN/asc-devkit Round接口文档

Round 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.com/cann…...

Linux玩转硬件调试:用CH347芯片一站式搞定JTAG、SWD、SPI Flash和EEPROM(含中断检测实战)

Linux玩转硬件调试&#xff1a;用CH347芯片一站式搞定JTAG、SWD、SPI Flash和EEPROM&#xff08;含中断检测实战&#xff09; 在嵌入式开发和硬件逆向工程领域&#xff0c;调试工具的选择往往决定了工作效率的上限。传统方案需要购置价格高昂的专用调试器&#xff0c;而CH347芯…...