dolphin 配置data 从文件导入hive 实践(一)

DATAX数据同步工具 1、DataX完成单个数据同步的作业,我们称之为Job,DataX接受到一个Job之后,将启动一个进程来完成整个作业同步过程。DataX Job模块是单个作业的中枢管理节点,承担了数据清理、子任务切分(将单一作业计算转化为多个子Task)、TaskGroup管理等功能。2、DataXJob启动后,会根据不同的源端切分策略,将Job切分成多个小的Task(子任务),以便于并发执行。Task便是DataX作业的最小单元,每一个Task都会负责一部分数据的同步工作。 阅读详情

datax 支持多种数据源的相互读写,作为开源软件,提供了离线采集功能,方便系统开发,过程中遇到诸多配置,需要开发者自己探索,免费同样有成本

配置模板

{
    "setting": {},
    "job": {
        "setting": {
            "speed": {
                "channel": 2
            }
        },
        "content": [
            {
                "reader": {
                    "name": "txtfilereader",
                    "parameter": {
                        "path": ["/data/test/test.txt"],
                        "encoding": "UTF-8",
                        "column": [
                            {
                                "index": 0,
                                "type": "string"
                            },
                            {
                                "index": 1,
                                "type": "string"
                            }
                        ],
                        "fieldDelimiter": "\t"
                    }
                },
                "writer": {
                    "name": "hdfswriter",
                    "parameter": {
                        "defaultFS": "hdfs://****:9000",
                        "fileType": "TEXT",
                        "path": "/user/hive/warehouse/sz_center_devdb.db/cat",
                        "fileName": "catfile",
                        "column": [
                            {
                                "name": "cat_id",
                                "type": "STRING"
                            },
                            {
                                "name": "cat_name",
                                "type": "STRING"
                            }
                        ],
                        "writeMode": "append",
                        "fieldDelimiter": "\t",
                        "compress":"NONE"
                    }
                }
            }
        ]
    }
}

注意:文本文件需要上传到datax 所在服务器

执行报错一:

Hadoop 权限异常

      Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=default, access=WRITE, inode="/user/hive/warehouse/sz_center_devdb.db":anonymous:supergroup:drwxr-xr-x
                at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:496)
                at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:336)
                at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:241)
                at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1909)
                at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1893)
                at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkAncestorAccess(FSDirectory.java:1852)
                at org.apache.hadoop.hdfs.server.namenode.FSDirWriteFileOp.resolvePathForStartFile(FSDirWriteFileOp.java:323)
                at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInt(FSNamesystem.java:2635)
                at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:2577)
                at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.create(NameNodeRpcServer.java:807)
                at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.create(ClientNamenodeProtocolServerSideTranslatorPB.java:494)
                at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
                at org.apache.hadoop.ipc.ProtobufRpcEngine2$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine2.java:532)
                at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1070)
                at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:1020)
                at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:948)
                at java.security.AccessController.doPrivileged(Native Method)
                at javax.security.auth.Subject.doAs(Subject.java:422)
                at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1845)
                at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2952)

                at org.apache.hadoop.ipc.Client.call(Client.java:1476)
                at org.apache.hadoop.ipc.Client.call(Client.java:1407)
                at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)
                at com.sun.proxy.$Proxy9.create(Unknown Source)
                at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.create(ClientNamenodeProtocolTranslatorPB.java:296)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)
                at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
                at com.sun.proxy.$Proxy10.create(Unknown Source)
                at org.apache.hadoop.hdfs.DFSOutputStream.newStreamForCreate(DFSOutputStream.java:1623)
                ... 18 more

这里是因为Hadoop 目录没有权限。
这里执行的用户是default
dataX 模板中没有配置用户的地方,这里先去Hadoop 配置目录权限

Hadoop 目录权限配置

hdfs dfs -ls /
hdfs dfs -mkdir /user
hdfs dfs -mkdir /hbase
hdfs dfs -ls /
hadoop fs -chmod 777 /user
hadoop fs -chmod 777 /hbase
# 循环所有子目录配置权限
hadoop fs -chmod -R 777 /hbase

然后运行dataX 任务成功。
但从hive 链接中发现数据乱码,这里就是 hive的文件类型和分隔符不一致导致

在这里插入图片描述
这里回顾日志发现读取文本异常

[WI-0][TI-0] - [INFO] 2024-11-06 16:16:36.229 +0800 o.a.d.p.t.a.AbstractTask:[169] -  -> 
        2024-11-06 16:16:35.230 [0-0-0-reader] INFO  TxtFileReader$Task - reading file : [/data/test/test.txt]
        2024-11-06 16:16:35.231 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[0] attemptCount[1] is started
        2024-11-06 16:16:35.268 [0-0-0-writer] INFO  HdfsWriter$Task - begin do write...
        2024-11-06 16:16:35.268 [0-0-0-writer] INFO  HdfsWriter$Task - write to file : [hdfs://10.80.18.165:9000/user/hive/warehouse/sz_center_devdb.db/cat__f395492b_e42a_47e5_a52b_214ab8bf833a/catfile__d369974c_fdeb_4601_b118_67ae6e97e197]
        2024-11-06 16:16:35.341 [0-0-0-reader] INFO  UnstructuredStorageReaderUtil - CsvReader使用默认值[{"captureRawRecord":true,"columnCount":0,"comment":"#","currentRecord":-1,"delimiter":"\t","escapeMode":1,"headerCount":0,"rawRecord":"","recordDelimiter":"\u0000","safetySwitch":false,"skipEmptyRecords":true,"textQualifier":"\"","trimWhitespace":true,"useComments":false,"useTextQualifier":true,"values":[]}],csvReaderConfig值为[null]
        2024-11-06 16:16:35.351 [0-0-0-reader] WARN  UnstructuredStorageReaderUtil - 您尝试读取的列越界,源文件该行有 [1] 列,您尝试读取第 [2] 列, 数据详情[1 hello]
        2024-11-06 16:16:35.356 [0-0-0-reader] ERROR StdoutPluginCollector - 脏数据: 
        {"message":"您尝试读取的列越界,源文件该行有 [1] 列,您尝试读取第 [2] 列, 数据详情[1 hello]","record":[{"byteSize":7,"index":0,"rawData":"1 hello","type":"STRING"}],"type":"reader"}
        2024-11-06 16:16:35.357 [0-0-0-reader] WARN  UnstructuredStorageReaderUtil - 您尝试读取的列越界,源文件该行有 [1] 列,您尝试读取第 [2] 列, 数据详情[2 cat]
        2024-11-06 16:16:35.357 [0-0-0-reader] ERROR StdoutPluginCollector - 脏数据: 
        {"message":"您尝试读取的列越界,源文件该行有 [1] 列,您尝试读取第 [2] 列, 数据详情[2 cat]","record":[{"byteSize":5,"index":0,"rawData":"2 cat","type":"STRING"}],"type":"reader"}
        2024-11-06 16:16:35.793 [0-0-0-writer] INFO  HdfsWriter$Task - end do write
        2024-11-06 16:16:35.841 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[0] is successed, used[623]ms
        2024-11-06 16:16:35.841 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] completed it's tasks.
[WI-0][TI-0] - [INFO] 2024-11-06 16:16:45.231 +0800 o.a.d.p.t.a.AbstractTask:[169] -  -> 
        2024-11-06 16:16:45.222 [job-0] INFO  StandAloneJobContainerCommunicator - Total 2 records, 12 bytes | Speed 1B/s, 0 records/s | Error 2 records, 12 bytes |  All Task WaitWriterTime 0.000s |  All Task WaitReaderTime 0.000s | Percentage 100.00%
        2024-11-06 16:16:45.222 [job-0] INFO  AbstractScheduler - Scheduler accomplished all tasks.
        2024-11-06 16:16:45.223 [job-0] INFO  JobContainer - DataX Writer.Job [hdfswriter] do post work.
        2024-11-06 16:16:45.224 [job-0] INFO  HdfsWriter$Job - start rename file [hdfs://10.80.18.165:9000/user/hive/warehouse/sz_center_devdb.db/cat__f395492b_e42a_47e5_a52b_214ab8bf833a/catfile__d369974c_fdeb_4601_b118_67ae6e97e197] to file [hdfs://10.80.18.165:9000/user/hive/warehouse/sz_center_devdb.db/cat/catfile__d369974c_fdeb_4601_b118_67ae6e97e197].
[WI-0][TI-0] - [INFO] 2024-11-06 16:16:46.231 +0800 o.a.d.p.t.a.AbstractTask:[169] -  -> 

暂时不确定是源文件格式问题 还是编码问题

或者是任务配置问题。

后续出结果后更新。

执行异常二

在这里插入图片描述

数据为空,或者数据列不对应。
这种情况执行日志没有任何异常,执行结果也是成功,但是目标的hive 表里没有数据。

这时候就看hive的分隔符配置了。

如何查看hive表的分隔符

执行命令

show create table hello    

查看

在这里插入图片描述

‘org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe’ # 默认分隔符,行分割符:“\n”,列分割符:“^A”
这个在data JSON 中还不能直接配置,必须使用转义字符

默认存储格式textfile

JSON 里配置 TEXT

参考资料:https://blog.youkuaiyun.com/mn525520/article/details/106876384
https://blog.youkuaiyun.com/u010520724/article/details/121999575
https://blog.youkuaiyun.com/qq_36039236/article/details/108101345

生效hive 建表语句、dataX json 任务配置参见

配置示例:www.fancv.com

dolphinscheduler搭配datax跨库数据库全量更新 python位系统自带地址,目录为、/usr/lib/pyhton2.7,但是在配置时,不PYTHONE_HOME只到/usr,下面$PYTHON_HOME/bin 修改为 $PYTHON_HOME/lib,在执行datax服务时默认会默认带上/python2.7,所以这里要去掉;配置地址在/dolphinscheduler-bin/bin/env/dolphinscheduler_env.sh。执行tar -zxvf datax.tar.gz。4)执行任务:上线任务,执行任务。3、设置项目及工作流。 阅读详情

相关推荐

dolphinscheduler-3.4.0

dolphinscheduler集群部署

docsz的博客 660

第二章 数据迁移之Dolphinscheduler调度DataX从Mysql全量导入Hive

Dolphinscheduler调度DataX从Mysql全量导入Hive

qq_27924553的博客 7949

dolphinscheduler配置

dolphinscheduler使用hive,hadoop,spark,datax,python,scala修改添加的配置

DolphinScheduler调用DataX

在DolphinScheduler使用DataX

u012938208的博客 1176

Palabos User Guide中文解读 | 第一章 | 介绍

译者的话:本人在学习palabos时,发现国内中文资料甚少,恰好网上可以直接搜到palabos user guide这种英文资料,加之时间充裕,便打算开始翻译,能不能完成全本翻译再说,而且文中我也会标记我不确定的地方,以传达意思为主,翻译不当的地方还请各位读者帮忙指正。 Palabos User Guide Release 1.0 r1 Copyright © 2019 University of...

Yulan Fang's notes. 6977

Element-UI全面入门与实战技巧

Element-UI 是一套基于 Vue 2.0 的桌面端组件库,由饿了么前端团队开发并维护。它提供了一系列丰富的 UI 组件,旨在帮助开发者快速构建高效、美观的 Vue 应用程序。Element-UI 是一款遵循 Ant Design 设计规范的 Vue UI 库,它涵盖了从按钮、输入框、选择器到表格、标签、进度条等众多常用的界面元素。Element-UI 的组件不仅功能全面,而且易于定制,使得开发者可以快速实现个性化的页面设计。Element-UI 的特点包括:在使用 Element-UI 之前,需要确

全世界的博客 2863

Dolphinscheduler配置Datax踩坑记录

tmp/dolphinscheduler/exec/process 下文件创建失败问题 dolphinscheduler调度datax任务时需要在tmp/dolphinscheduler/exec/process 目录下创建一系列临时文件,但是在worker运行日志中/opt/soft/dolphinscheduler/logs/dolphinscheduler-worker.log看到创建失败的报错 [taskAppId=TASK-1-10-13]:[178] - datax task failure j

快乐星球 1万+

从模型车到真实路口:基于YOLOv5-Lite与SORT的轻量化车流量检测系统实战

本文详细阐述了如何将基于YOLOv5-Lite与SORT的轻量化车流量检测系统从毕业设计原型部署到真实路口。文章聚焦于解决在嵌入式平台(如树莓派)上实现实时、稳定检测的工程挑战,涵盖数据采集、模型微调、系统集成及动态信号灯策略,为智能交通灯系统提供了实用的轻量化解决方案。

weixin_29179311的博客 125

第二章 基于dolphinscheduler的Datax组件进行数据迁移之Oracle到hive

1、源表 create table T_YYBZB_TGH_BANKINFO ( id NUMBER, bank_id NUMBER, bank_name varchar(200) ); 同步源系统数据,每天一个分区表 2、创建hive目标表 (1)编写建表脚本 create table ods.ods_t_yybzb_tgh_bankinfo_di ( id int, bank_id int, bank_name string ) partitione

qq_27924553的博客 2761

【Linux】U盘配置Ubuntu系统 ——(Win10+Ubuntu20.04)双系统安装教程

Ubuntu系统安装

WS_Change的博客 4327

FANUC机器人KAREL编程实战:手把手教你用SOCKET指令连接外部设备(附完整.KL文件)

本文详细解析了FANUC机器人KAREL编程中SOCKET指令的应用,从开发环境配置到工业级通讯全流程,涵盖网络参数设置、模块化代码设计、错误处理及现场调试技巧。通过实战案例,帮助开发者掌握与外部设备稳定连接的关键技术,提升工业自动化系统的通讯可靠性。

weixin_30907935的博客 225

在 Apache DolphinScheduler 3.4.2 上使用原生 Amazon EMR Serverless 插件

本文介绍了如何在Apache DolphinScheduler 3.4.2版本中集成使用Amazon EMR Serverless任务插件。主要内容包括: 功能概述: 支持可视化提交Spark/Hive作业到EMR Serverless 提供状态轮询、日志回显、自动取消等功能 支持与EMR on EC2任务混合编排 优势对比: EMR Serverless免运维、按需计费的优势 与DolphinScheduler结合实现自动化数据管线 部署指南: 下载安装3.4.2版本 安装EMR Serverless插件

Turk的专栏 437

《网络安全自学教程》- SQL注入之报错注入原理+步骤+实战操作

这篇文章为大家解析报错注入的实现原理,结合实战案例讲解报错注入的使用步骤。

wangyuxiang946的博客 1万+

Apache DolphinScheduler 运维排障 FAQ 全解析:从架构认知到生产实践

> **导读**:本文围绕 Apache DolphinScheduler 官方中文 FAQ([docs/docs/zh/faq.md](https://link.gitcode.com/i/cf48c4bdf086f29d78eca3c7dc8ee647))展开,系统梳理了服务组成与内存规划、任务调度与优先级、Worker 分组与多集群支持、容错机制、资源中心与 HDFS、网络 IP 获取、缓存

gitblog_00284的博客 878

Modbus RTU 详解 + FreeMODBUS移植(附项目源码)

本文全面解析Modbus RTU通信协议,详细介绍其报文格式、功能码定义及典型应用场景,并手把手指导如何将FreeMODBUS协议栈移植到嵌入式平台。内容涵盖从底层硬件驱动配置、协议栈移植到主机/从机通信测试的全流程,重点讲解移植过程中的常见问题及解决方案。文章最后提供经过实测的完整项目源码,帮助开发者快速实现稳定的Modbus RTU通信功能。

Bit_Dong的博客 2926

YOLOv11改进 | Conv篇 | 图像去雾卷积DEConv助力yolov11有效涨点(部署零额外开销)

本文介绍了一种最新改进机制用于低层视觉任务的细节增强卷积(DEConv)机制。DEConv在训练阶段采用"普通卷积+差分卷积"的多分支并联结构,增强网络对边缘、纹理等细节特征的学习能力;在推理阶段可折叠为标准3×3卷积,保持与普通卷积相同的计算效率。文中详细阐述了DEConv的工作原理、实现方法以及在YOLOv11中的应用步骤,包括核心代码解析、模型修改方法和训练配置。实验表明,该机制在去雾、去噪、超分等强调细节重建的任务中具有显著优势。文章还提供了完整的代码实现和训练指导.

Snu77的博客 2433

LarkMidTable 一站式开源数据中台:产品架构、数据集成能力与完整部署指南

LarkMidTable(中文名“云雀”)是一个一站式开源的数据中台产品,围绕元数据管理、数据仓库开发、数据质量管理与数据可视化四大能力,为数据前台提供高效赋能与数据服务。本篇基于项目根目录的 [README_EN.md](https://link.gitcode.com/i/45ef0a72b0991b4255dcc3f8c5dcec10) 展开,结合仓库内安装手册 [部署文档](https:/

gitblog_00138的博客 198

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Apache DolphinScheduler 伪集群部署完整指南:单机部署 Master/Worker/API/Alert 四服务实战

伪集群(Pseudo-Cluster)部署是把 Apache DolphinScheduler 的全部核心服务——master-server(调度器)、worker-server(执行器)、api-server(API 服务)、alert-server(告警服务)——部署在同一台物理机上的模式。它是介于 Standalone 体验模式与多机生产集群之间的关键形态:既保留了完整的服务拆分与分布式注册

gitblog_01424的博客 1004

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【亲测最新版本】DolphinScheduler 3.4.0 安装部署文档

DolphinScheduler 3.4.0 采用 Master/Worker 架构,依赖 Zookeeper 注册中心、MySQL 8.4 存储元数据、HDFS 作为资源中心。部署需规划多节点集群,推荐至少2个Master和Worker实现高可用。环境准备包括配置主机名与hosts、创建具备sudo权限的hadoop用户、配置SSH免密登录及安装JDK 17。MySQL 8.4通过RPM安装,需初始化并创建DS专用数据库与账号。Zookeeper集群部署于独立节点,DS安装包解压后拷贝驱动与配置文件,修改

大数据架构师,深耕车联网实时数仓。专注 Flink / Paimon / Doris 流批一体、CDC 同步与实时 AI 推理,把生产里的架构选型、作业实战和故障排查整理成 4 个连载系列,只写实测跑得通的方案,欢迎私信交流。 47

实时离线数仓实战指南:构建高性能数据湖架构

《实时离线数仓实战》是一个基于电商系统的完整数据仓库解决方案,采用Flink、Doris、Paimon、Hudi和Iceberg等前沿技术,构建了支持实时分析和离线处理的一体化数据湖架构。该项目为数据工程师提供了从数据采集到分析应用的全链路技术实现。 ## 架构设计深度解析 本项目采用独特的实时数仓与离线数仓双引擎并行架构,在数据处理逻辑上保持一致,但技术实现路径不同,为数据仓库建设提供了多元

gitblog_00133的博客 1080

Apache DolphinScheduler Java 任务节点实战指南:JAVA/JAR 双运行模式详解

本指南以 Apache DolphinScheduler 的 Java 任务节点(Task Plugin)为核心,讲解如何在 DAG 工作流中通过「源码模式」与「JAR 模式」执行 Java 程序,覆盖任务创建步骤、全部参数含义、底层命令构建逻辑与典型配置示例。阅读完本文,你将能够独立配置一个可运行的 Java 任务节点,并理解其在 Worker 上的真实执行机制(javac 编译、classpa

gitblog_00216的博客 405

DolphinScheduler使用DataX简单抽取数据(MySQL)

dolphinscheduler使用DataX增量抽取数据

weixin_42890062的博客 2982

【DolphinScheduler】datax读取hive分区表时,空分区、分区无数据任务报错问题解决

【DolphinScheduler】datax读取hive分区表时,空分区、分区无数据任务报错问题解决。 最近在使用海豚调度DolphinScheduler的Datax组件时,遇到这么一个问题:之前给客户使用海豚做的离线数仓的分层搭建,一直都运行好好的,过了个元旦,这几天突然在数仓做任务时报错

Alex的博客 2505

Dolphinscheduler配置Datax抽取数据

需求是从mysql增量抽取数据到postgresql 练习了两种实现方式 第一种:使用海豚自带datax组件实现 第二种:在海豚里调用shell脚本实现,抽取配置写在shell脚本中 shell脚本配置内容如下: 下载地址:https://download.youkuaiyun.com/download/weixin_43025027/76460239 { “job”: { “content”: [ { “reader”: { “name”: “mysqlreader”, “parameter”: { “colum

weixin_43025027的博客 7148

dolphinscheduler 1.2.1 运行datax任务,重复同步数据库问题排查记录

稳定跑了一年的调度系统,突然包含datax节点的工作流集体报错,报错原因都是主键冲突,点进去查看,发现报错的节点大部分实际上是成功状态,但是状态为失败,而真正失败的节点报的都是主键冲突错。

3372

Datax问题记录

data异常

u013984781的博客 3463
上一篇: cas5.3统一登录前后端分离改造方案(源码)
下一篇: Dolphinscheduler配置dataX离线采集任务写入hive实践(二)
hamish-wu
博客等级 码龄15年 2814粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值