自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

兴趣是最好的老师

致力于Java、大数据和人工智能技术学习和分享

  • 博客(601)
  • 资源 (54)
  • 收藏
  • 关注

原创 【数据仓库】Iceberg、Hudi、Delta Lake、Paimon:四大开源湖表格式怎么选?

如果你用多种计算引擎,选 Iceberg;如果你需要强实时更新 + CDC,选 Hudi;如果你在 Databricks 上,用 Delta Lake;如果你重度依赖 Flink,Paimon 更高效。没有“最好”,只有“最合适”。建议在测试环境验证关键路径(如写入吞吐、查询延迟、Compaction 开销),再决定生产选型。

2026-03-23 09:16:43 923

原创 数仓系列:数仓开发工程师学习路线图

要找到一份数仓开发工作,核心在于掌握 SQL能力、大数据技术栈以及数仓理论模型、真实项目经验。掌握 Hadoop 生态 + Hive + Spark 开发。: 能独立完成 “从原始日志到业务报表” 的全链路开发。理解数据仓库理论 + 掌握 Linux/SQL 基础。设计可维护、高质量、低成本的数仓体系。解决复杂业务问题 + 应对大规模场景。

2026-02-10 11:27:56 136

原创 数仓系列:从数仓、数据湖、湖仓一体、数据中台到 AI 中台的演进之路

定位 :面向分析型业务,结构化数据的集中存储与处理平台。数据高度结构化(Schema-on-write);强调数据一致性、准确性、历史版本管理;通常用于BI报表、OLAP分析;架构经典如Kimball/Inmon模型。Hive​ (传统数仓)Oracle Exadata(传统/一体机数仓)Teradata(传统/MPP数仓)Snowflake(云原生数仓)ClickHouse(开源OLAP引擎)Doris(开源OLAP引擎)

2026-02-10 10:24:42 872

原创 AI编程工具选型指南

在AI编程时代,我们不再是执行者,而是设计者。选择一款合适的AI编程工具,行动起来吧!

2026-01-27 17:58:24 767

原创 Docker系列:如何从Docker中拷贝文件到宿主机

test-tools/tmp_out/0.ply 即为要拷贝的到宿主机的文件。24e483a40174 即为docker镜像id。test_folder 即为要拷贝到宿主机的文件夹。

2026-01-21 09:20:23 266

原创 Flin系列:Flink 集群安装部署

拷贝 flink 安装包到 node-02、node-03。关闭 flink 集群 # stop-cluster.sh。启动 Flink 集群服务(standalone模式)修改 conf/workers 配置文件。查看 Flink Web UI 界面。

2026-01-21 09:18:58 314

原创 Kylin系列:Kylin 操作使用(五)

重新加载元数据,使 Kylin 能读取到创建好的 project “learn_kylin”,跳转至 system ,点击 reload metadata。此时 Cube 正在创建,可以在 Monitor 中监控到整个 Cube 构造的过程以及可以查看到每一步构建的过程和日志。

2026-01-21 09:18:33 148

原创 Kylin 系列:Kylin 安装部署(四)

因为 Kylin 要使用 Hive、HDFS、Hbase,并且可以进行任务提交;检查环境时,会在 HDFS 上创建 Kylin 的文件夹。注:启动 Kylin 服务之前需要启动 Zookeeper、HDFS、Yarn、Hive、HBase 服务。上传 apache-kylin-3.1.2-bin-hadoop3.tar.gz 安装包并解压。看到上面的登录页面,就代表 Kylin 已安装部署成功:)没有打印报错信息,说明 Kylin 检查环境正常。网址:node-01:7070/kylin。

2026-01-21 09:18:13 220

原创 Kylin系列:Kylin 技术架构(三)

Kylin 系统可以分为在线查询和离线构建两部分。

2026-01-21 09:17:52 256

原创 Kylin 系列:Kylin 工作原理(二)

给定一个数据模型,我们可以对其上所有维度进行组合。对于 N 个维度来说,有组合的可能性为 2 的 N 次方种。对每一种维度的组合,将度量做聚合运算,运算的结果保存为一个物理视图,称为 Cuboid。将所有维度组合的 Cuboid 作为一个整体,被称为 Cube。简单来说,一个 Cube 就是许多按维度聚合的物化视图的集合。举例。

2026-01-21 09:17:34 414

原创 Kylin系列:Kylin 简介(一)

官网:http://kylin.apache.org/cn/Apache Kylin 是 Hadoop/Spark 大数据平台上的一个开源的联机分析处理(OLAP)引擎Kylin 采用多维立方体预计算技术,实现了超高速的大数据 OLAP 分析,也就是要让大数据分析像使用数据库一样简单迅速,用户的查询请求可以在秒级返回,交互式数据分析以前所未有的速度释放大数据里潜藏的知识和信息Kylin 是第一个由中国人主导的 Apache 顶级开源项目,在国际开源社区具有极大的影响力。

2026-01-21 09:17:08 829

原创 HBase系列:HBase HA 集群环境搭建

网址:node-01:16010(active)node-02:16010(backup)启动 HBase 集群必须先启动 zk 集群 和 HDFS 集群。已安装并启动 HDFS 集群、Zookeeper 集群。

2026-01-14 11:54:22 268

原创 Hive系列:Hive 整合 HBase

HBase 不支持标准 SQL 语句,而且 HBase 做统计分析也不支持 Join 表操作,而这些功能是 Hive 所具备的,所以在实际的生产环境中将二者整合并让 HBase 表中的数据可以使用 Hive SQL 语句及 Join 分析是很有必要的。注:进入了 hive 的 shell 命令行界面。

2026-01-14 11:54:01 476 1

原创 大数据开发之序列化与反序列化技术选型

互联网的产生带来了机器间通讯的需求,而互联通讯的双方需要采用约定的协议,序列化和反序列化属于通讯协议的一部分。通讯协议往往采用分层模型,不同模型每层的功能定义以及颗粒度不同,例如:TCP/IP协议是一个四层协议,而 OSI 模型却是七层协议模型。在 OSI 七层协议模型中展现层(Presentation Layer)的主要功能是把应用层的对象转换成一段连续的二进制串,或者反过来,把二进制串转换成应用层的对象–这两个功能就是序列化和反序列化。

2026-01-14 11:53:31 664

原创 Hadoop系列:Yarn 集群环境 HA 搭建

查看 node-01:http://192.168.229.21:8088/cluster/cluster,发现状态由 standby 变为 active,说明已经进行故障转移。这时,node-02 上的 resourcemanager 则变为 standby 状态,故障转移测试完成:)yarn --daemon stop nodemanager 停止nodemanger进程。

2026-01-14 11:51:49 361

原创 Hadoop系列:MapReduce shuffle 过程详解

MapReduce 计算模型主要由三个阶段构成:Map、shuffle、ReduceMap 负责数据的拆分,将原始数据转化为 <key,value> 键值对Reduce 负责数据的聚合,将具有相同 key 值的 value 进行处理后再输出新的 <key,value> 键值对作为最终结果为了让 Reduce 可以并行处理 Map 的结果,必须对 Map 的输出进行一定的排序与分割,然后再交给对应的 Reduce,而这个将 Map 输出进行进一步整理并交给 Reduce 的过程就是 Shuffle。

2026-01-14 11:51:21 713

原创 Hadoop系列:Yarn 集群环境搭建

yarn --daemon stop nodemanager 停止 nodemanger 进程。stop-yarn.sh :停止 yarn 集群。确保主机搭建 HDFS 运行环境。注:先启动 HDFS HA 集群。Yarn 集群环境搭建成功:)

2026-01-14 11:50:56 180

原创 Hadoop系列:HDFS 的内存存储是什么?

首先,我们来了解一下到底什么是 “内存存储”?那还用说嘛,当然就是使用内存来存储数据的方式咯!是的,在 HDFS 中,“内存存储” 就是我们常听到的 "我们可以在 HDFS 上创建某个文件时设定它的存储模式为 “LAZY_PERSIST” 模式,如此一来,后续在这个文件上所追加的所有数据都会被直接保存在对应数据节点的内存上。而使用内存来作为数据的存储介质的好处想必就不用我多说了,但同时在内存上保存数据的坏处也很让人头疼啊。内存的容量小、掉电数据尽数丢失,无论哪一个问题都能让相关人员头皮炸裂。

2026-01-14 11:50:11 465

原创 Hadoop系列:HDFS 高可用(HA)环境搭建

启动所有的进程可以直接执行 start-dfs.sh 脚本,但是为了对 Hadoop 的进程有所了解,这里选择一个个进程按顺序来启动(注:必须严格按照顺序启动进程)注:在 HA 中不需要启动 SecondaryNameNode 进程,因为 Standby NameNode 会执行 checkpointing 机制。查看 node-02 的 NameNode,由 Standby 变为 了 Active,说明自动故障转移成功:)nn1地址: 192.168.229.21:9870。

2026-01-14 11:49:48 419

原创 Hadoop:HDFS 集群环境搭建

HDFS 集群由一个主/从架构组成,单个运行 NameNode 进程的服务器为主节点服务器,多个运行 DataNode 进程的服务器为从节点服务器。

2026-01-14 11:49:20 1011

原创 Hadoop系列:Hadoop 集群配置免密 SSH 登录

Hadoop 集群包含 1 个主节点和 3 个从节点,需要实现各节点之间的免密码登录。

2026-01-14 11:48:17 331

原创 Linux系列:VIM 三种模式和常用命令

vim/vi 是 Unix / Linux 上最常用的文本编辑器而且功能非常强大。特点:只有命令,没有菜单。

2026-01-13 08:44:46 761

原创 Linux系列:Linux 软连接和硬链接

依此您可以做一些相关的测试,可以得到以下全部结论:删除符号连接f3,对f1,f2无影响;删除硬连接f2,对f1,f3也无影响;删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;同时删除原文件f1,硬连接f2,整个文件会真正的被删除。

2026-01-13 08:44:02 197

原创 Linux系列:Linux 发行版本介绍

其实不管是哪种版本,内核都是一样的,所谓触类旁通、举一反三,只要把一种学习明白,其他版本的使用也就不再是难事了。

2026-01-13 08:42:15 496

原创 openEluer 忘记密码怎么办?

注:密码需要满足对应的要求,字符类型不少于3种,而且不能是常见的弱密码,如 openEuler#12。当忘记密码无法登录 openEuler 系统时,我们可以重置密码进行登录。通过上下左右进行光标的移动,找到下面的位置,大概在最后几行。用户名:root,密码:openEuler#12。

2026-01-13 08:39:40 259

原创 Linux系列:Linux 安装 MySQL 5.7.27 教程

另外 --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码。为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化。停止mysql服务器:#systemctl stop mysqld.service。mysql 数据库默认只能本地访问,远程工具连接 mysql 需要授予远程访问权限。**扩展:**已生成的库表字符集如何变更。

2026-01-12 09:15:23 398

原创 Linux系列:Linux 命令大全

2026-01-12 09:15:02 571

原创 Linux系列:Shell 脚本 test 命令详解

test命令在bash shell脚本中经常以中括号([])的形式出现,而且在脚本中使用字母来表示比符号表示更专业,出错率更低。

2026-01-12 09:14:39 177

原创 Linux系列:Linux 正则表达式

所谓正则表达式,就是利用一些特殊符号构成的表达式,来模糊匹配字符串。

2026-01-12 09:14:10 221

原创 Linux系列:Ubantu 安装 MySQL 8.0 教程

注意:mysql 出于安全方面考虑默认只允许本机(localhost, 127.0.0.1)来连接访问。可以看到 root 用户只有 localhost 本机权限,就是只有本机能访问。注意:0.0.0.0:3306 表示支持监听远程连接。注意:其中 % 表示任意远程 IP 可以访问。快捷键:Ctrl+z。

2026-01-12 09:13:38 438

原创 Linux系列:Linux最强600条命令总结

升级模式会安装用户所指定的更新版本,并删除已安装在系统中的相同软件包,升级软件包命令如下:rpm –Uvh wu-ftpd-2.6.2-8.i386.rpm –Uvh:升级参数。使用 RPM 命令的安装模式可以将软件包内所有的组件放到系统中的正确路径,安装软件包的命令是:rpm –ivh wu-ftpd-2.6.2-8.i386.rpm。vim 启动后,默认进入命令模式,任何模式都可以通过 esc 键回到命令模式(可以多按几次),命令模式下可以键入不同的命令完成选择、复制、粘贴、撤销等操作。

2026-01-12 09:13:14 555

原创 Linux系列:Ubuntu 防火墙命令

在 Ubuntu 系统进行安装的时候默认安装了ufw 防火墙。

2026-01-12 09:12:45 348

原创 MongoDB系列:MongoDB 分片集群环境搭建

注:实际生产环境中,路由服务器和配置服务器可部署多个,以构建高可用分片集群模式。注意:这里启动 route 路由服务器要使用 bin/mongos 实例。至此,分片集群环境搭建成功 :)

2026-01-12 09:12:18 581

原创 Python系列:Python爬虫必杀技:XPath

XPath 即为 XML 路径语言,它是一种用来确定 XML(标准通用标记语言的子集) 文档中某部分位置的语言。XPath 基于 XML 的树状结构,有不同类型的节点,包括元素节点,属性节点和文本节点,提供在数据结构树中找寻节点的能力。但是往往在查找的时候,我们需要获取某个特定的节点,则需要配合下面的方式即:被嵌在方括号内,用来查找某个特定的节点或包含某个值定的值的节点。XPath 使用路径表达式在 XML 文档中选取节点。另外还可以在使用 xpath 的时候使用通配符和功能函数。

2026-01-12 08:45:29 662

原创 Iceberg系列:Iceberg作为数据湖基建的5大特性

Iceberg 旨在与所有主流云存储配合使用,此外,Iceberg 还可以轻松与 Spark、Presto、Trino 和 Hive 等数据处理引擎集成。

2026-01-12 08:44:02 458

原创 数仓系列:一文读懂仓湖一体架构

事务日志 = 订单系统(记录所有变更)Base Files = 主仓库(存放大批量货物)Delta Files = 快递暂存区(临时存放小件)Compaction = 夜间整理(把暂存区货物整理到主仓库)读写分离 = 进货出货双通道(互不干扰)优化技术 = 智能货架 + 快速定位系统这样,既能处理大批量货物(批处理),又能快速处理零散订单(实时写入),还能让客户即时查询(毫秒级响应)。

2026-01-09 10:03:33 1520

原创 Scala系列:Scala 安装与配置

下载 IEDA 的 scala 插件,地址:https://plugins.jetbrains.com/plugin/1347-scala,然后点击 Versions,下载对应版本的插件(2019.2.40版本)目前 Scala 的 IDE 开发工具主要有两种:Eclipse 和 IDEA,这两个开发工具都有相应的 Scala 插件。Scala 安装完成后会自动将 Scala 的 bin 目录的路径添加到系统的 Path 变量中,如 Path 变量中无该路径,则需要手动添加。点击安装文件,下一步完成安装。

2026-01-09 08:42:14 980

原创 Scala系列:Scala 神奇的下划线 _

在 Scala 中,下划线 _ 有很多种用法,作为 Scala 初学者也经常被下划线 _ 搞得晕头转向,下面是对 Scala 中下划线 _ 使用的简单总结~

2026-01-09 08:41:49 216

原创 Scala系列:scala中 :: , +:, :+ , ::: , ++ 的区别

: 该方法被称为cons,意为构造,向队列的头部追加数据,创造新的列表。用法为 x::list,其中x为加入到头部的元素,无论x是列表与否,它都只将成为新生成列表的第一个元素,也就是说新生成的列表长度为list的长度+1(btw, x::list等价于list.::(x)):+和+: 两者的区别在于:+方法用于在尾部追加元素,+:方法用于在头部追加元素,和::很类似,但是::可以用于pattern match ,而+:则不行. 关于+:和:+,只要记住冒号永远靠近集合类型就OK了。

2026-01-09 08:41:28 162

原创 Scala系列:Scala 函数式编程思想

函数式编程思想和命令式编程思想相比,并没有所谓的优劣之分,还是取决于使用场景。Spark 选择 Scala 也是由于函数式语言在并行计算下的优势非常契合 Spark 的使用场景。

2026-01-09 08:41:08 751

构建面向对象的应用软件系统框架

本书不准备讨论软件工程过程的问题,而只是对软件工程中软件技术的一个方面——系统框架设计,做一些探讨。

2009-10-31

嵌入式系统开发环境和工具.pdf

嵌入式常用开发环境和工具介绍,适合预学习嵌入式的初学者使用。详细的介绍了嵌入式开发的基本流程、开发环境和开发工具等。

2010-12-25

嵌入式微处理器系统.pdf

主要内容: 1、嵌入式系统的概念 2、嵌入式系统的特点 3、嵌入式系统的组成 4、嵌入式系统设计 5、嵌入式系统的发展趋势

2010-12-26

WindowsMobile客户端程序开发.pdf

WindowsMobile客户端程序开发.pdf

2010-12-26

华为C语言面试试题集

华为开发岗位,C语言笔试和面试题目汇总。

2010-08-04

华为C++语言面试试题集.doc

华为网管开发岗位,C++语言笔试和面试题目收集。

2010-08-04

watir语法详解和描述

watir语法的详细介绍和描述,适合watir初学者。

2010-12-25

同步软件设计(銘傳大學).ppt

内容如下: ActiveSync的特性 ActiveSync的限制 ActiveSync的安全性 RAPI RAPI函數 ActiveSync Service Provider

2010-12-26

软件系统设计(林锐博士).ppt

帮助你从程序员上升为系统设计师,搞清楚“设计什么”以及“如何设计”。

2010-12-26

嵌入式入门(2004全国高校ARM嵌入式教学及科研师资高级培训班讲稿).ppt

描述:2004全国高校ARM嵌入式教学及科研师资高级培训班讲稿 - 嵌入式软件系统设计。主讲:李忠民 武汉创维特信息技术有限公司

2010-12-25

嵌入式软件测试.part2.rar

书籍介绍:Bart Broekman、Edwin Notenboom著(美国),张君施、张思宇、周承平(译)

2010-12-26

Windows Mobile 平台应用与开发实例.rar

Windows Mobile 平台应用与开发实例

2010-12-26

Carnegie教程系列之面向对象编程与设计(SSD3)

美国卡耐基梅陇大学软件工程教科书,中国国家示范软件学院软件工程专业必修课程。

2009-10-31

ICARNEGIE数据库系统设计(SSD7)

美国卡耐基梅陇大学软件学院教材,中国国家示范软件学院软件工程专业教材。

2009-10-31

嵌入式软件测试.part1.rar

书籍介绍:Bart Broekman、Edwin Notenboom著(美国),张君施、张思宇、周承平(译)

2010-12-26

嵌入式软件测试.part3.rar

书籍介绍:Bart Broekman、Edwin Notenboom著(美国),张君施、张思宇、周承平(译)

2010-12-26

嵌入式系统概论的讲义.rar

介绍嵌入式系统设计以及嵌入式系统设计与实例开发。

2010-12-25

EVC开发程序.pdf

ST2410 V3.0使用手册。详细介绍ST2410开发板的使用、开发以及烧写,Linux系统启动等。

2010-12-25

uml简单教程ppt

uml入门级教材PPT,简单易懂,而且还有大量例子,非常适合初学者入门学习使用。

2009-10-31

WinCE操作系统基本原理(中试培训).ppt

WinCE操作系统基本原理(中试培训).

2010-12-26

ARM 微控制器快速入门的“敲门砖”.pdf

ARM 微控制器快速入门的“敲门砖”,ARM微控制其入门教程。

2010-12-26

Java企业应用框架技术

企业应用框架 1. Struts框架、理解Struts-MVC、Struts标签库、动态表单 2. Struts2.0 与 Struts1.x 技术专题 3. Webwork框架开发专题 4. XML应用与解析、DTD、Schema 5. DOM、JDOM、DOM4J组件解析xml 6. Hibernate原理、对象查询、HQL查询、对象关系映射、Hibernate案例 7. ibatis框架与Hibernate技术专题 8. Spring的IOC与AOP、动态代理的使用和AOP容器的原理、案例开发 9. Spring1.x与Spring2.x技术专题 10. 企业项目开发

2011-01-30

使用.NET和Vss进行团队开发

本手册为开发团队的领导者、普通开发人员、测试团队成员和系统管理员提供指导。如果您计划或者是正在开发一个基于团队的.NET开发项目,请阅读本手册。

2011-01-03

UML参考手册(详细介绍UML各方面知识)

UML参考手册,详细介绍UML各方面知识,适合UML初学者和进阶学习。

2011-01-03

java常见异常以及处理

介绍java编程过程中常见异常以及处理。

2011-01-30

Android网络开发技术实战详解

Android网络开发技术实战详解,本文档适合Android初学者对网络开发技术入门使用。

2013-01-21

水利水电工程随身电脑(PDA)程序集》-吴东 匡会健-源程序 .rar

水利水电工程随身电脑(PDA)程序集》-吴东 匡会健-源程序

2010-12-26

软件专题(分为八个专题为软件开发过程涉及的方方面面进行研究和讨论)

软件专题分为八个专题为软件开发过程涉及的方方面面进行研究和讨论,如下: 专题一:计算机系统知识.doc 专题二:程序语言部分.doc 专题三:操作系统知识.doc 专题四:多媒体专题.doc 专题五:计算机网络知识.doc 专题六:数据库知识.doc 专题七:软件工程专题.doc 专题八:知识产权和标准化知识.doc

2011-01-03

快乐之道--游戏设计的黄金法则

这是一本探讨和研究游戏设计的专著,书中就游戏设计提出了业界广泛运用的黄金法则,对于从事游戏设计的朋友是一本不可多得的办公桌边必备工具书籍。

2012-12-18

常用芯片技术手册.CHM

介绍MCS-51系列单片机指令系统以及寻址方式等。

2010-12-26

android入门及深入详解

android入门及深入详解 目录 01_Android系统概述 02_Android系统的开发综述 03_Android的Linux内核与驱动程序 04_Android的底层库和程序 05_Android的JAVA虚拟机和JAVA环境 ... ...

2013-02-22

DesignPattern(设计模式迷你手册)

DesignPattern(设计模式迷你手册),工作中快速查询和浏览23种设计模式的UML图,代码举例和功能介绍等,是一本速查方便的设计模式必备工具书。

2012-10-25

WindowsMobile服务器端程序开发.pdf

WindowsMobile服务器端程序开发

2010-12-26

ARM 快速入门 - 基于AT系列.pdf

ARM 快速入门 - 基于AT91SAM7S系列

2010-12-26

java编程实例

java编程实例就从项目开发中收集的常用java技术和总结,包括java编程应用实例、java编程实例和最新java编程题全集。

2013-01-06

arm开发全集(包括arm开发编码介绍,开发实例,适用于arm初学者)

arm开发全集,包括arm开发编码介绍,开发实例,适用于arm初学者。

2010-12-26

VC++游戏开发笔记

DX游戏开发学习笔记,汇集了大量DX文章,内容循序渐进、娓娓道来,将DX的基础知识和难点解析得淋漓尽致,是一本DX入门不可多得的小册子。

2012-12-18

uml简单教程ppt胶片

20世纪70年代中期产生了面向对象的软件开发方法,面向对象的分析(OOA)和面向对象的设计(OOD)方法已逐渐取代了传统的方法,成为我国当前计算机软件工程学中的主流方法。 但是众多的面向对象方法各有特色,也各有不足,而且术语不统一,缺乏共同标准,常给软件开发人员带来困惑。 最流行的面向对象方法是: Rumbaugh的OMT方法,Booch的Booch方法和Jacobson的OOSE方法。

2011-01-03

OMG Unified Modeling Language

介绍关于UML语言的起源、历史和发展,为掌握UML进行程序设计提供方法和捷径。

2011-01-03

全套国标软件设计文档

全套国标软件设计文档,包括数据要求说明书、测试分析报告等

2011-01-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除