Hive--HiveQL:数据定义、数据操作

HiveQL数据操作 文章目录Hive——HiveQL数据操作1.向管理表中插入数据2.通过查询语句向表中插入数据3.单个查询语句中创建表并加载数据4.导出数据 Hive——HiveQL数据操作 1.向管理表中插入数据 Hive没有行级别的数据插入,数据更新和删除操作,那么往表中装载数据上的唯一途径就是使用一种数据装载操作,或者通过其他方式仅仅将文件写到正确目录下。 0: jdbc:hive2://192.168.14... 阅读详情

2 数据定义

2.1 Hive中的数据库(database)

    Hive中的数据库的概念本质上仅仅是表的一个目录或者命名空间。

2.1.1 查看所有数据库:show databases;

hive (default)> show databases;

创建数据库:create database [if not exists] <database_name>;


hive (default)> create database if not exists financials;

注意:所有和数据库相关的命令中,都可以使用schema这个关键字来替代database。

       如果数据库非常多,可以使用正则表达式匹配来筛选出需要的数据库名。

    创建数据库时,数据库所在的目录是配置文件中hive.metastore.warehouse.dir所配置的顶层目录之后,默认是/usr/hive/warehouse,当创建数据库financials是,Hive将会对应创建一个目录/usr/hive/warehouse/financials.db。注意,数据库的文件目录名都是以.db结尾的。

   可以通过添加location来修改这个默认位置,可以通过comment来为数据库添加一个描述信息,且location必须位于comment之后。

hive (default)> create database first_database
              > comment 'Holds all my data tables'
              > location '/mydirection/mydatabase';

2.1.2 查看数据库的信息:describle database <database_name>;


可以使用with dbproperties (key1=value1,key2=value2,...)来给数据库添加一些和其相关的键值对信息,并且必须位于location之后。

hive (default)> create database second_database 
              > comment 'Holds all my data ex_tables'
              > location '/mydirection/mydatabase'
              > with dbproperties ('creator'= 'Mark Moneybags', 'date' = '2015-11-6');

可以通过describe database extended <database_name>来显示出这些所有的信息。

hive (default)> describe database extended second_database;



2.1.3 使用数据库:use <database_name>;


hive (default)> use financials;


2.1.4 删除数据库:drop database [if exists] financiasl;


hive (financials)> drop database financials;


    默认情况下,Hive不支持删除含有表的数据库。要么先删除数据库中的所有表,然后再删除该数据库;要么在删除命了的最后面加上关键字cascade。


hive (default)> drop database first_database cascade;


2.1.5 修改数据库的dbproperties的键值对属性:alter database <database_name> set dbproperties ('edited-by' = 'Oner');

    数据库的其他元数据信息都是不可更改的,包括数据库名和数据库所在的目录。

2.2 Hive中的表

2.2.1  管理表(内部表)

1 创建表

    create table语句遵从SQL语法惯例,但是Hive的这个语句中具有的扩展功能,使其具有更广泛的灵活性。


hive (default)> create table if not exists mydb.employees (
              > name string comment 'Employee name',
              > salary float comment 'Employee salary', 
              > subordinates array<string> comment 'Names of subordinates',
              > deductions map<string,float> comment 'Keys are deductions name,value are percentages',
              > address struct<street:string, city:string, state:string, zip:int> comment 'Home address')
              > comment 'Description of the table'
              > location '/usr/hive/warehouse/mydb.db/employees'
              > tblproperties ('creator'='me', 'created_at'='2015-11-6');

    如果当前用户所处的数据库并非目标数据库,建表的时候可以在表名前面增加数据库名来指定,也就是本例中的mydb;用户可以在字段类型后为每个字段增加一个注释,也可以为这个表添加一个注释;tblproperties的主要作用是安键-值对的格式为表添加额外的文档说明。

2 使用表:use <table_name>;


hive (default)> use default;


3 列举数据库下的表:show tables [in <table_name>];

列举当前数据库下的表:

hive (default)> show tables;
列举制定数据库下的表:
hive (default)> show tables in mydb;


使用正则表达式过滤出所需要的表名:


hive (default)> show tables in mydb 'emp.*';


注意Hive并非支持所有正则表达式功能。

4 查看表的详细信息:describe [extended] [database_name].<table_name>;

或者describe [formatted] [database_name].<table_name>;


hive (default)> describe mydb.employees;

如果当前所处的工作数据库就是mydb,可以不加mydb.这个前缀。

加上extended或者formatted可以显示更详细的信息,使用formatted显示的结果可读性更好,所有formatted用的更多

hive (default)> describe formatted mydb.employees;

如果只想查看某一列的信息,只需要在表名后面添加列的字段名即可。

hive (mydb)> describe employees.salary;




2.2.2 外部表

     之前创建的表都是管理表(内部表),在删除一个管理表时,会删除该表的元数据,也会删除表中的数据,如果想要在删除表后,只删除元数据信息,而不删除表中内容,可以考虑使用外部表。

    创建外部表


hive (default)> create external table if not exists stocks ( 
              > trade string,
              > symbol string, 
              > ymd string,
              > price_open float,
              > price_high float,
              > price_low float,
              > price_close float,
              > volume int, 
              > price_adj_close float) 
              > row format delimited fields terminated by ','
              > location '/data/stocks';

    关键字external表示这个表示外部的,而后面的location...子句表示外部表指向的数据在哪里。

2.2.3 分区表

1 创建分区表

1)创建内部分区表

创建一个employees表,先按照country在按照state进行分区。

hive (mydb)> create table employees (
           > name string,
           > salary float,
           > subordinates array<string>,
           > deductions map<string,float>,
           > address struct<street:string, city:string, state:string,zip:int>)
           > comment 'Description of the table'
           > partitioned by (country string, state string)
           > location '/user/hive/warehouse/mydb.db/employees';



2)创建外部分区表

hive (mydb)> create external table if not exists logs_message (
           > hms int,
           > severity string,
           > server string,
           > process_id int,
           > message string)
           > partitioned by (year int, month int, day int)
           > row format delimited fields terminated by '\t';


分区表改变了Hive对数据存储的组织方式。

2 显示分区表

show partitions <table_name>;


hive (mydb)> show partitions employees;


2.2.4 修改表

    大多数的表的属性可以通过alter table语句来进行修改,这种操作会修改元数据,但不会修改数据本身。

1 表重命名

alter table <table_name> renamt to l<table_newname>;

2  增加、修改和删除表分区


增加分区:alter table <table_name> add partition (partcol=value) [location ...];

hive (mydb)> alter table logs_message add
           > partition (year=2015, month=1, day=1) location '/logs/2015/01/01'
           > partition (year=2015, month=1, day=2) location '/logs/2015/01/02';
修改分区:alter table <table_name> partition (...) set location ‘...’;

hive (mydb)> alter table logs_message                                             
           > partition (year=2015, month=1, day=2) set location 'H01://out/2015/01/02';
删除分区:alter table <table_name> drop [if exists] partition (...);

2.2.5  修改列信息

alter table <table_name> change [column] col_old_name col_new_name column_type [comment col_comment] [first|after column_name];

hive (mydb)> alter table logs_message
           > change column hms hours_minutes_seconds int
           > comment 'The hours,minutes,and seconds part of the timestamp'
           > first;

其中,column和comment子句是可选的,first|after column_name是用来指定修改后该列的位置。

2.2.6 增加列

alter table <table_name> add columns (new_column column_type[partition (partcol1=val1, partcol2=val2 ...)]);

hive (mydb)> alter table logs_message add columns (     
           > app_name string comment 'Application name',       
           > session_name int comment 'The current session id');

2.2.7  删除/替换列

alter table <table_name> replace columns (new_column column_type[partition (partcol1=val1, partcol2=val2 ...)]);

hive (mydb)> alter table logs_message replace columns (
           > hours_mins_secs int comment 'hour,minute,seconds from timestamp',
           > severity string comment 'The message severity',
           > message string comment 'The rest of the message');

2.2.8  修改表属性

alter table <table_name> set tblproperties ('key'='value');

hive (mydb)> alter table logs_message set tblproperties (                                  
           > 'notes' = 'The process id is no longer captured, this column is always NULL');
注意:无法删除表属性

2.2.9  修改存储属性

alter table <table_name>[partition (partcol1=val1, partcol2=val2 ...)] set fileformat <fileformat_name>;

hive (mydb)> alter table logs_message             
           > partition (year=2015, month=1, day=2)
           > set fileformat sequencefile;

3  数据操作

3.1 向管理表中装载数据

load data [local] inpath 'filepath' [overwrite] into table <table_name> [partition (partcol1=val1, partcol2=val2 ...)];


hive (mydb)> load data local inpath '${env:HOME}/employees.txt' 
           > overwrite into table employees
           > partition (country='US',state='CA');


local:

    指定了local,代表数据源路径是本地文件系统的路径,该数据将会被copy到目标位置;如果未指定local关键字,这个路径代表的是HDFS上的路径,这种情况下,文件会被move到目标位置。

overwrite:

    指定了overwrite目标表(或者分区)中的内容(如果有)会被删除,然后再将 filepath 指向的文件/目录中的内容添加到表/分区中;如果目标表(分区)已经有一个文件,并且文件名和 filepath 中的文件名冲突,那么现有的文件会被新文件所替代。

partition:

    指定了partition,目标分区目录如果不存在的话,系统会自动创建分区目录,然后将数据copy到该目录下;如果目标是非分区表,应省去partition子句。

3.2  将查询结果写入Hive表

3.2.1 基本模式

insert overwrite table <table_name> [partition (partcol1=val1, partcol2=val2 ...)] select_statement fromfrom_statement;

hive (mydb)> insert overwrite employees      
           > partition (country='US', state='OR')
           > select * from staged_employees se
           > where se.cnty = 'US' and se.st = 'OR';

3.2.2 多插入模式

from <from_statement>

insert overwrite table <table_name1> [partition (partcol1=val1, partcol2=val2 ...)] select_statement1

insert overwrite table <table_name2> [partition (partcol1=val1, partcol2=val2 ...)] select_statement2;

3.2.3 自动分区模式

insert overwrite table <table_name> partition (partcol1[=val1], partcol2[=val2] ...) select_statement form form_statement;

3.3  导出数据

insert overwrite [local] directory 'directory' select_statement;

导出数据到本地目录:

insert overwrite local directory '${env:HOME}/data' select * from employees;

导出数据到HDFS中:

insert overwrite directory '/user/hive/warehouse/table' select value from employees;

同一个查询结果可以同时插入到多个表或者多个目录中:

from employees se
insert overwrite local directory '${env:HOME}/data' select *
insert overwrite directory '/user/hive/warehouse/table' select * where se.cty='US';


【Hive】HiveQL实战之数据抽样Sample 当数据量很大时,需要查找一个数据的子集用于加快数据的分析,这种技术就是抽样技术。Hive中,数据抽样分为以下三种:随机抽样;桶表抽样;块抽样;1 随机抽样1)语法结构使用Rand()和LIMIT关键字得到抽样数据,Distribute和Sort关键字确保数据在mappers和reducers之间高效的随机分布,也可以使用order by rand()实现,但是性能不好。语法:SELECT * FR... 阅读详情

相关推荐

Hive是一个基于Hadoop的数据仓库工具,它提供了类似于SQL的查询语言HiveQL

Hive是一个基于Hadoop的数据仓库工具,它提供了类似于SQL的查询语言HiveQL,使用户能够使用类似于关系型数据库的方式来处理大规模的分布式数据。Hive是一个基于Hadoop的数据仓库工具,它提供了类似于SQL的查询语言HiveQL,使用户能够使用类似于关系型数据库的方式来处理大规模的分布式数据。外部表允许在不删除数据的情况下重新定义表的结构。总而言之,Hive是一个用于处理大规模分布式数据的数据仓库工具,它提供了类似于SQL的查询语言和丰富的功能,使用户能够方便地进行数据的存储、查询和分析。

[Blog][Domain] programb.blog.youkuaiyun.com 1645

Hive的常用HiveQL操作

Hive的常用HiveQL操作

leoatliang的博客 3571

大数据实验六实验报告:熟悉Hive的基本操作

“大数据技术原理与应用”课程实验报告 题目:实验六:熟悉Hive的基本操作 姓名:小猪猪 日期:2022/5/15 1、实验环境: 设备名称 LAPTOP-9KJS8HO6 处理器 Intel(R) Core(TM) i5-10300H CPU @ 2.50GHz 2.50 GHz 机带 RAM 16.0 GB (15.8 GB 可用) 主机操作系统 Windows 10 家庭中文版 虚拟机操作系统 ubuntukylin-16.04 Hadoop 版本 3.1.3 JDK 版本 1.8 Java IDE:Eclipse 系统类型 64 位操作系统, 基于 x64 的处理器 笔和触控 没有可用于此显示器的笔或触控输入 2、实验内容与完成情况: 1.创建一个内部表 stocks,字段分隔符为英文逗号,表结构如下所示: stocks 表结构:

Hadoop大数据开发基础系列:九、HiveQL

一、HiveQL是什么? 1.HiveQL概述 Hive是一种数据仓库分析系统,前面我们也说到过,它主要是将SQL的查询过程通过MapReduce来完成 HiveQL本质上就是一种SQL。Hive通过HiveSQL去查询分析需要的内容,使不熟悉MapReduce的用户也可以很方便的利用SQL来查询、汇总并分析数据。 2.HiveQL及Hive的特点 (1)与关系型数据库的SQL 略有不同...

Nelson_hehe的博客 1177

ABAP on HANA/CDS view/AMDP 大乱炖

文章目录1. HANA的三大杀器1.1 内存式数据库1.2 多核架构1.3 列式存储1.3.1 数据压缩1.3.2 并行处理1.3.3 聚集和索引1.3.4 代码下移2. CDS 概念2.1 ABAP 开发环境2.2 OPEN SQL语句2.3 CDS 到底是啥2.4 CDS 类型2.5 创建CDS view3. CDS 实战3.1 Annotation注解3.2 Case 语句3.3 数学计算3.4 字符串表达3.5 货币转换3.6 聚集语句3.7 Join3.8 Union3.9 参数3.10 作为子C

weixin_45689053的博客 4788

DAGGER vs 传统模仿学习:为什么数据聚合能提升模型性能?

本文深入对比了DAGGER与传统模仿学习,揭示了传统方法因“分布不匹配”导致性能下降的根源。DAGGER通过动态的**数据聚合**机制,在智能体自身策略产生的状态分布上收集专家数据,从根本上解决了误差累积问题,从而显著提升了模型在实际部署中的鲁棒性和性能。

weixin_29170327的博客 234

HiveQL详解

本文将详细介绍Hive的数据定义语言(DDL)、数据操作语言(DML)和数据检索功能。通过学习本文,你将了解如何使用Hive来定义数据库、表和分区,执行数据操作,以及利用HiveQL进行数据查询和分析。[REMOTE]:这个关键字表示数据库或模式将在远程服务器上创建,而不是在本地机器上。(DATABASE|SCHEMA):指定要创建的对象类型。SCHEMA 和 DATABASE 的用法是可以互换的,它们的含义是一样的。

zcs2312852665的博客 2349

Halcon相机标定实战:从参数设置到精度优化全解析

本文详细解析Halcon相机标定的全流程,从基础概念到实战技巧,涵盖参数设置、精度优化及常见问题解决方案。通过实际案例和代码示例,帮助读者掌握工业视觉项目中相机标定的关键技术,提升测量精度和系统稳定性。

weixin_29279153的博客 323

全网最细之HiveQL语句操作

Hive相关操作关键字应该大写 但是本人小写容易记忆 所以本篇为小写.数据库查看数据库表查看表修改表名添加n列修改列名称、类型、位置单独修改列名 数据类型替换列(会删除原来的所有列)修改表的注释map、array、struct,建表语句应该怎么指定分隔符例子、解释删除表 关键字应该大写 但是本人小写容易记忆 所以本篇为小写 . 数据库 查看数据库 1:desc database 数据库名 2:desc database extended 数据名 查看数据库详细信息 表 查看表 1:desc 表名

惊鸿的博客 2944

Java开发者必看:如何快速对接七大主流快递API(附完整代码示例)

本文为Java开发者提供了快速对接顺丰、京东、DHL等七大主流快递API的实战指南。文章深入剖析了不同API的认证、通信协议与参数差异,并提供了高可用的HTTP客户端配置、通用签名工具、SOAP请求处理以及可扩展的领域模型与适配层设计等完整代码示例,帮助开发者构建统一、健壮的物流集成框架,显著提升开发效率。

tech5的博客 728

实验二 离散控制系统的性能分析(时域/频域)

1.掌握离散闭环系统的动态性能时域参数的分析与计算方法; 2.掌握离散系统稳定性的频域典型参数分析与计算方法。 MATLAB 软件( 2022a); 1.在 Matlab 语言平台上,通过给定的闭环离散系统,深刻理解时域参数的物理意义与计算方法,内容包括如下: 阻尼比参数分析:Z 平面与 S 平面的极点相互转换编程实现;分析 S/Z 两个平面域特殊特性(水平线、垂直线、斜线、圆周等)的极点轨迹相互映射方法;系统阶跃响应参数:上升时间和超调量等。 2. 采用频域分析方法,通过编程计算,进一步理解离散系统的稳定

m0_51738372的博客 2479

HiveQL:数据定义

–查看数据库s show databases; –创建数据库 create database human_resources; –查找开头为h的所有数据库 show database like 'h.*'; –创建数据库,并指定位置 create database financials location 'my/dir' –创建数据库。并添加说明 create database fina...

hxh的博客 564

21天学会基于 Linux 的 NPU 固件开发--2.2 固件加载流程:request_firmware() 深度解析

本文深度解析Linux内核中NPU固件加载流程,重点剖析request_firmware()机制。内容涵盖:1)内核态与用户态的交互机制,包括同步/异步加载方式;2)NPU固件的特殊格式与加载逻辑;3)调试技巧与安全验证方案;4)提供最小化固件加载器实验。文章揭示了从文件系统到硬件初始化的完整链路,探讨了大模型时代面临的性能挑战与优化方案,如零拷贝加载技术,并提出了版本兼容性、断电恢复等关键问题的思考方向。

amy_mhd的博客 59

【Hive】【HiveQL】【大数据技术基础】 作业三 数据仓库Hive的使用

作业三基于Hadoop的数据仓库Hive 学习指南 数据定义操作主要用于创建、修改和删除数据库、表、视图、函数和索引。Hive是一个基于Hadoop的数据仓库工具,它将结构化的数据文件映射为一张数据库表,并提供SQL查询功能。Hive的SQL被称为HiveQL,它能够将SQL查询转换为MapReduce作业进行处理。

Kika写代码的博客 1292

华为OD机试真题 新系统2026-04-01 Python&JS 实现【勇攀数字高峰】

请你在给定的数字地形图中寻找登山路径,数字代表当前位置的海拔高度,要求从最低海拔出发,不断攀登,最终到达最高山峰。你需要寻找所有满足条件的登山路径。地图已经保证最低海拔和最高山峰都只有一个。

MISAYAONE的博客 852

把财务与管理会计装进一张表:读懂 S/4HANA 的 ACDOCA

别慌,这反而是设计所需。只是大量历史上为汇总、加速而建的索引与汇总表被淘汰或改造,很多被兼容视图 compatibility views 替代,通过视图去 ACDOCA 或 ACDOCT 取数,从而保证老代码还能 SELECT 到数据,但失去写权限。它把原来分散在多张表里的信息整合到一起,例如总账、固定资产、物料账、盈利能力分析 CO-PA、成本控制等维度,发布过的资料多次强调这一点。其二,查询必须带上高选择性的条件,尤其是 RLDNR、RBUKRS、GJAHR 这三个维度,能大幅降低列存扫描的代价。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 956

数据仓库Hive编程——HiveQL的数据定义(一):Hive中的数据库

HiveQL是Hive查询语言。和普遍使用的所有SQL方言一样,它不完全遵守任一种ANSI SQL标准的修订版。HiveQL可能和MySQL的方言最接近,但是两者还是存在显著性差异的。Hive不支持行级插入操作、更新操作和删除操作。Hive也不支持事务。Hive增加了在Hadoop背景下的可以提供更高性能的扩展,以及一些个性化的扩展,甚至还增加了一些外部程序。 《HiveQL的数据定义》的内容是H...

冯·诺依曼 2万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【Hive】HiveQL:数据定义

HiveQL是Hive查询语言,和普遍使用的所有SQL方言一样,它不完全遵守任一种ANSI SQL标准的修订版。Hive不支持行级插入操作、更新操作和删除操作,Hive也不支持事务,Hive增加了在Hadoop背景下的可以提供更高性能的扩展,以及一些个性化的扩展,甚至还增加了一些外部程序。一 Hive中的数据库操作Hive中数据库的概念本质上仅仅是表的一个目录或者命名空间,然而,对于具有很多组和用...

个人公众号:Alen的数据库学习笔记 1226

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【Hive】HiveQL:数据操作

本篇主要演示Hive的数据操作,包括向表中装载数据、插入数据、创建表以及导出数据。一 向表中装载数据1 语法结构LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]2 示例hive&gt; load data local ...

个人公众号:Alen的数据库学习笔记 1217

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

认识Hive,以及Hive的数据定义与数据操作,hive的数据查询和hive函数

认识Hive 为什么要出现hive 前面知识我们讲到mapreudce计算框架,各位需要通过java编码的形式来实现设计运算过程,这对各位的编程能力提出了更高的要求,难道没有门槛更低的方式来实现运算的设计吗?Hive出现的目的就是为了解决这个问题。 Hive的设计目的是为了让那些精通SQL技能而Java技能较弱的数据分析师能够利用Hadoop进行各种数据分析。 对于前面的WordCount例子,Java代码大概在80行左右,这对于经验丰富的Java开发工程师来说也不是易事,但如果用Hive的查询语言(即Hi

m0_46937429的博客 2900

数据仓库Hive编程——HiveQL的数据定义(五):删除表

Hive支持和SQL中DROP TABLE命令类似的操作: DROP TABLE IF EXISTS employees; 可以选择是否使用IF EXITST关键字。如果没有使用这个关键字而且表并不存在的话,那么将会抛出一个错误信息。对于管理表,表的元数据信息和表内的数据都会被删除。 事实上,如果用户开启了Hadoop回收站功能(这个功能默认是关闭的),那么数据将会被转移到用户在分布式文件系统中...

冯·诺依曼 1万+

大数据手册(Hive)--HiveQL

目录 HIVE命令 HIVE数据类型 HIVE内置运算符 HiveQL常用语句 创建/删除数据库 创建/删除表 修改表结构 导入数据 插入数据 查询语句 其他常用命令 HIVE常用内置函数 Hive视图和索引 hive性能调优 Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,总归为大数据,并使得查询和分析方便。 HIVE命...

WilenWu 1万+

Hive学习—HiveQL:数据定义

第4章 HiveQL:数据定义 HiveQL可能和MySQL语句接近,但是两者还是存在显著差异。Hive不支持行级插入操作、更新操作和删除操作。Hive也不支持事务。 4.1 Hive 中的数据库 --创建数据库 CREATE DATABASE financials --查看Hive中包含的数据库 SHOW DATABASES --使用正则匹配筛选出需要的数据库 SHOW DATABASES LI...

weixin_43387060的博客 307

【大数据】HiveQL的数据操作

HiveQL的相关数据操作。

Data · Model · Agent · Repeat 738
上一篇: Hive--基础操作、数据类型和文本文件格式
下一篇: Hive--HiveQL:查询
Wang_AI
博客等级 码龄12年 996粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值