Sqoop 同步数据到mysql, Can't parse input data: '\N'

励磁电感 Lm 选对了,LLC 才真“高效”:半桥 LLC 效率优化 你有没有遇到过这种 LLC:参数一套下来,ZVS 也有了,波形看着也“挺谐振”,但一上功率——,效率就是死活上不去。我说句直白的:LLC 的“高效”,很大一部分其实是在背后控场。Lm 选小了,励磁电流蹭蹭涨,谐振电流 RMS 变大,导通损耗、开关损耗、整流损耗一起上天;Lm 选太大,又可能把 ZVS 的门槛抬高,轻载掉 ZVS,EMI 也开始作妖。 阅读详情

 Sqoop 同步数据到mysql

 

Sqoop  从hdfs 同步数据到mysql 是我们常常遇到的事情

同步分为 分区表同步和非分区表同步

需要注意以下几点

1. hive 中的表 必须是textfile ,不能是有parquet 等压缩方式的

2.hive 表如果是分区表,需要每次只能同步一个分区的数据到 mysql,

如果hive 有多个分区,只能写多个脚本,或者多个循环调度,或者将多分区表落地成一个非分区的临时表,进行同步

hive也可以同步分区表过去,只不过hive一次只能同步一个分区,hive 是文件形式的啊  分区也只是目录文件,你一次只能指定一个目录  不能一下子指定多个目录

3.对于mysql来说  只是把数据(mysql不会在意这数据怎么来的)插到表里   表是分区就按分区字段插  不是分区就直接插

4.hive 推送到mysql 的时候,并不需要字段 名字对应一致,只要字段个数一致,但是数据类型必须一致,否则会出现,且分区的那个字段 在hive 中是伪列,推送的时候 在mysql 中不能有。 \N 的错误

5、sqoop会将 hive 表中空值转换为\N  ,如果MySQL这个字段是 int  double  肯定存储不了\N,会报空值错误。

6、mysql 中 int  double 等要注意hive 的字符长度。

下面写法可以

create table dm.tmp_ae_mid_payback_detail_new as 
select * from dm.ae_mid_payback_detail_new

sqoop export -D mapred.child.java.opts="-Djava.security.egd=file:/dev/../dev/urandom" \
  --connect "jdbc:/app?useUnicode=true&characterEncoding=utf8" \
  --username "dr" \
  --password "yyyy" \
  --input-null-string '\\N'  --input-null-non-string '\\N' \
  --table amque_mid_payback_detail_new \
  --export-dir /user/hive/warehouse/dm/dm_ae_mid_payback_detail_new \
  --input-fields-terminated-by '\001' \

 

这个也可以,只不过只能推送一个分区,和伪列不可以推送

sqoop export -D mapred.child.java.opts="-Djava.security.egd=file:/dev/../dev/urandom" \
  --connect "jdbc:/app?useUnicode=true&characterEncoding=utf8" \
  --username "dr" \
  --password "yyyy" \
  --input-null-string '\\N'  --input-null-non-string '\\N' \
  --table amque_mid_payback_detail_new \
  --export-dir /user/hive/warehouse/dm/amque_mid_payback_detail_new/partition_month='2018-11' \
  --input-fields-terminated-by '\001' \

LOFIC / 全局快门在移动端的可行性:曝光容限、读出噪声与算力预算 手机端引入 LOFIC 与全局快门的核心权衡在于:在有限像素面积与功耗下,如何换取更高的动态范围与运动场景鲁棒性。LOFIC 通过侧向溢流到积分电容扩大满井并保持较高转换增益,全局快门在帧内一次性采样消除行时序伪影,但需付出像素填充率、读出噪声与片上存储功耗的代价。本文以工程可实操为目标,给出像素与读出链的简化模型、曝光损益测算、数据率与带宽估算、端到端算力与热预算方法,配套寄存器配置流程、帧内/帧间切换策略与验证清单,帮助在真实移动 SoC 与 ISP 约束下完成可行性评估与原型落地。 阅读详情

相关推荐

岭回归的MATLAB步骤

MATLAB 实现框架,它涵盖了从数据导入到岭回归的步骤,包括计算共线性、使用 MAE、MSE、R²、MAPE 进行评价,以及绘制相应的可视化图表。

subject625Ruben的博客 1089

sqoop导入导出报错Can't parse input data

如果使用sqoop导出数据时,总是遇到:Can’t parse input data: ‘’" 感觉莫名其妙; 其实多半原因是数据里有回车换行,也就是空行导致的,去除空行即可,请注意。 使用replace("\r\n","")把空行换成标签 ...

zl15210191009的博客 1万+

STM32 SPI驱动TFT LCD实战:时序配置与硬件协同

SPI(串行外设接口)是一种高速、全双工、同步串行通信协议,广泛应用于微控制器与显示模组等外设的数据交互。其核心依赖时钟极性(CPOL)与时钟相位(CPHA)组合定义的四种工作模式,直接影响数据采样可靠性;而片选(NSS)与MOSI/SCLK等信号的硬件映射,则决定了多设备共总线下的通信稳定性。在TFT LCD驱动场景中,SPI凭借低开销、高吞吐优势成为主流选择,尤其适配ST7789、ILI9341等集成显示控制器的模块。本文聚焦STM32L系列MCU通过SPI2驱动1.3寸LCD的完整链路,涵盖Mode

php55的博客 1208

Sqoop 报错 Can‘t parse input data: ‘\N‘

Sqoop 报错 Can’t parse input data: ‘\N’ 问题描述: 使用sqoop吧hive中的数据推到 oracle中,程序报错:Can’t parse input data: ‘\N’ 导数时无法识别null值 。 造成这个异常问题的原因是因为,hive中表是分区表的时候,增加字段未使用cascade 如: alter table app.suntest_user add columns(name string comment '姓名') cascade 当未使用casc

沉迷数据无法自拔 2553

Xilinx ERNIC RoCEv2 FPGA实现与QP队列深度解析

本文深入解析Xilinx ERNIC RoCEv2在FPGA上的实现,重点剖析QP队列对的管理机制与深度优化策略。通过Verilog代码示例和工程实战,详细介绍了如何实现高吞吐量、低延迟的RDMA硬件卸载方案,为金融交易和数据中心应用提供性能优化指导。

solidity8miner的博客 877

STM32H750_QSPI_Flash_Configuration_With_CubeMX

本文详细介绍了如何使用STM32CubeMX配置STM32H750的QSPI Flash接口,包括硬件连接、CubeMX参数设置、代码生成与初始化流程优化。通过实战示例展示了Flash ID读取、页编程与数据读取等常用操作,并提供了调试技巧与性能优化建议,帮助开发者高效实现高速外部存储扩展。

weixin_29176179的博客 274

解决Sqoop导出数据报错Can‘t parse input data 和 NoSuchElementException

原因:多为分隔符导致的字段错位造成数据无法转换问题 解决方案 在确保hive端的分隔符和sqoop导出指定的分隔符(比如--input-fields-terminated-by=‘\011’)一致之后(建表和sqoop语句都没问题)—— 在hive的表最后加一个字段,比如可以为day_id,month_id,这类长度固定且不易变化的值,重新insert into overwrite之后查询这个字段,如果有异常,一般可以排查出来。 比如我今天遇到的这个情况就是,我在最后加了一个字段month_id,进

靓仔!——没错!我叫你呢! 2517

软件工程案例教程·韩万江【课后习题】

!!!!

weixin_57858263的博客 6419

Hive表存在null值导出到MySQL报错:Can't parse input data: '\N'

使用sqoop把hive表数据导到mysql时因空值报错问题 在hdfs上查看hive内部表的数据,发现是使用\N来代表null值的,但是mysql只能识别null,无法识别\N,所以导入时会报以下错误: Caused by:java.lang.RuntimeException: Can't parse input data: '\N' 这时可以通过以下方法解决: 1、使用...

清韵凌波的博客 2459

自动驾驶嵌入式修炼秘籍:理想L9自动驾驶域控制器拆解

自动驾驶嵌入式修炼秘籍:理想L9自动驾驶域控制器拆解

pathfinder888的博客 2548

23 RAG 为什么答不准:召回、分块、排序的常见坑

RAG 答不准时,不要先怪模型。本文把常见失败拆成召回不到、召回不准、分块不完整、排序靠后、上下文污染和生成不忠实六类,并给出从 Top-K 检查到评估集的排查流程。

老于的笔记的专栏 246

【SQOOP】 sqoop java.lang.RuntimeException: Can‘t parse input data: ‘\N‘,For input string: “\N“

背景: sqoop 从hive导数据到mysql,出现异常java.lang.RuntimeException: Can't parse input data: '\N',For input string: "\N" Error: java.io.IOException: Can't export data, please check failed map task logs at org.apache.sqoop.mapreduce.TextExportMapper.map...

Zsigner的博客 2508

ArcGIS Pro符号化教程

本文详细介绍了ArcGIS Pro的软件设置和符号化操作步骤。主要包括:1)设置默认工程目录和关闭地图自动加载;2)创建新工程的基本流程;3)点要素的单一符号化方法,包括样式修改和图层调整;4)图表符号显示过滤器的使用,涉及字段添加、图表类型选择和背景设置。文章还提供了操作截图和数据下载链接,适合GIS初学者学习ArcGIS Pro的基础符号化操作。

WwLK123的博客 548

sqoop export Caused by: java.lang.RuntimeException: Can't parse input data: '\N'

Error: java.io.IOException: Can't export data, please check failed map task logs at org.apache.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:112) at org.apache.sqoop.mapreduce.TextExpor...

滴水穿石的启示 4605

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

SAP B1中文培訓教材_SDK

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

mysql parsename,sqoop 将hive数据导入mysql报错Can't parse input data: '633507'

hive中的表结构:hive> desc channel_pv_day;OKday stringchannel stringpv intmonth string 按月份的分区字段# Partition Info...

weixin_39588223的博客 469

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

hive向mysql导入数据错误问题( java.lang.RuntimeException: Can't parse input data:)

最近因为工作需要开始接触hive和mysql的数据加载,其中hive向mysql存储数据时,因为hive 表的格式可能导致错误。下面讲下这个问题。

jyj019的博客 5368

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

基于Sqoop+Hive+MySQL构建企业级离线日志分析数仓实战

在数据驱动的业务决策中,离线数据分析是挖掘历史数据价值、洞察业务趋势的核心技术。其基本原理是通过ETL(抽取、转换、加载)流程,将分散在不同数据源(如日志文件、关系型数据库)中的原始数据,进行清洗、整合与建模,最终形成面向分析主题的、结构化的数据仓库。这项技术的核心价值在于,它能够将海量、异构的原始数据转化为标准、可信的业务指标,为运营分析、用户行为研究和性能优化提供数据支撑。其典型应用场景包括网站流量分析、用户行为漏斗构建、业务报表生成等。本文聚焦于一个经典且高效的离线分析技术组合:利用Sqoop实现Hi

weixin_33796177的博客 397

Sqoop报错Caused by: java.lang.RuntimeException: Can‘t parse input data: ‘王五‘

这样 Sqoop 将知道如何正确地映射数据类型,避免将字符串字段解析为整数。方法中,尝试将字符串 "张三" 解析为整数时发生了。在 Sqoop 导出命令中使用。在 Sqoop 导出命令中使用。根据之前的错误信息,看起来在。字段是字符串类型,不应该在。选项指定要导出的列,排除。选项明确指定字段映射。方法中被解析为整数。

qq_50833617的博客 922

sqoop导出数据到MySQL

本文承接我的《大数据项目离线数仓》把ODS层的数据导出到MySQL,用于可视化的制作。《大数据项目离线数仓》的其它文章在我的专栏《项目》中。目录1.1创建MySQL数据库1.2创建MySQL表1.3sqoop导出脚本创建gmall_report数据库 1.2创建MySQL表 创建表(mysql表和ADS中的表同步,但不需要全部创建,根据自己的可视化内容创建)下面给出我的一些mysql表:###创建用户主题表 ###创建地区主题表 ###创建活跃设备数表 ###创建漏斗分析表 ###创建

qq_55906442的博客 2899

.......Can’t parse input data:’PAR1((......

Can’t parse input data:’PAR(( 01、背景 学习尚硅谷的数仓,想把行为数仓和业务数仓的ads层的所有表格导出到mysql中,有一些表导不出,应该是行为数仓和业务数仓的同名表(比如名字都叫ads_uv_count)的建表语句不一样。 02、导出ads_uv_count时报错 02-01、VMWare软件 02-02、SecureCRT 7.3软件 03、原因 ads蹭的ads_uv_count的建表语句,应该选下面那个,有数据;选上面那个没数据,报错。 放大点 上面的建表 c

weixin_39538253的博客 709

Sqoop常见报错及解决方式

1.java.lang.RuntimeException: Could not load db driver class: com.mysql.jdbc.Driver 原因:[SQOOP_HOME]/lib/下缺少mysql驱动包 2.Caused by: java.lang.RuntimeException: Can’t parse input data: '800 1 620025 塑料油箱 ';java.io.IOException: Can’t export data, please check

清平乐的技术专栏 6907

sqoop导出mysql报错

报错如下 java.lang.RuntimeException: Can't parse input data: '\N\N\N' at ads_completed_claim_list.__loadFromFields(ads_completed_claim_list.java:1100) at ads_completed_claim_list.parse(ads_completed_claim_list.java:958) at org.apache.sqoop.mapreduce.Text

shengpli′s blog 968

hdfs mysql sqoop 失败_从hdfs到MySQL的sqoop导出失败,需要帮助以转义字符

I have a file in hdfs and exporting it to sqoop table. please find the log details below:Caused by: java.lang.RuntimeException: Can't parse input data: ' characters'at tags.__loadFromFields(tags.java:...

weixin_39636608的博客 245

sqoop mysql date_sqoop导出hive数据到mysql报错:Causedby:java.lang.RuntimeException:Can'tparseinputdata的解决办法...

sqoop export数据到本地时出现错误,命令如下:sqoop export \--connect 'jdbc:mysql://202.193.60.117/dataweb?useunicode=true&characterencoding=utf-8' \--username root \--password-file /user/hadoop/.password \--table ...

weixin_30841011的博客 796

怎么通过sqoop导入导出到MySQL

sqoop  mysql 导入,导出1.安装(前提hadoop启动)[hadoop@h91 ~]$ tar -zxvf sqoop-1.3.0-cdh3u5.tar.gz [hadoop@h91 hadoop-0.20.2-cdh3u5]$ cp hadoop-core-0.20.2-cdh3u5.jar /home/hadoop/sqoop-1.3.0-cdh3u5/lib/[hadoop@h9...

十色花的博客 5833
上一篇: hive 在kettle 作业return code 2 的问题 Unexpected exception: Unexpected exception: Unexpected exception:
下一篇: hive 和 impala 时间参数错误的问题 yyyy-MM-dd
mingming20547
博客等级 码龄17年 80粉丝 74原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值