云服务器内容精选
-
运行任务 登录Spark客户端节点,执行如下命令: source 客户端安装目录/bigdata_env source 客户端安装目录/Hudi/component_env 编译构建样例代码后可以使用spark-submit提交命令,执行命令后会依次执行写入、更新、查询、删除等操作: 运行Java样例程序: spark-submit --class com.huawei.bigdata.hudi.examples.HoodieWriteClientExample /opt/example/hudi-java-examples-1.0.jar hdfs://hacluster/tmp/example/hoodie_java hoodie_java 其中:“/opt/example/hudi-java-examples-1.0.jar”为jar包路径,“hdfs://hacluster/tmp/example/hoodie_java”为Hudi表的存储路径,“ hoodie_java”为Hudi表的表名。 运行Scala样例程序: spark-submit --class com.huawei.bigdata.hudi.examples.HoodieDataSourceExample /opt/example/hudi-scala-examples-1.0.jar hdfs://hacluster/tmp/example/hoodie_scala hoodie_scala 其中:“/opt/example/hudi-scala-examples-1.0.jar”为jar包路径,“hdfs://hacluster/tmp/example/hoodie_scala”为Hudi表的存储路径,“ hoodie_Scala”为Hudi表的表名。 运行Python样例程序: spark-submit /opt/example/HudiPythonExample.py hdfs://hacluster/tmp/huditest/example/python hudi_trips_cow 其中:“hdfs://hacluster/tmp/huditest/example/python”为Hudi表的存储路径,“ hudi_trips_cow”为Hudi表的表名。
-
打包项目 将user.keytab、krb5.conf 两个文件上传客户端所在服务器上。 通过IDEA自带的Maven工具,打包项目,生成jar包。具体操作请参考在Linux环境中调测Spark应用。 编译打包前,样例代码中的user.keytab、krb5.conf文件路径需要修改为该文件所在客户端服务器的实际路径。 运行Python样例代码无需通过Maven打包,只需要上传user.keytab、krb5.conf 文件到客户端所在服务器上。 将打包生成的jar包上传到Spark客户端所在服务器的任意目录(例如“ /opt/example/” )下。
-
场景说明 假定用户有某个周末网民网购停留时间的日志文本,基于某些业务要求,要求开发Spark应用程序实现如下要求: 统计日志文件中本周末网购停留总时间超过2个小时的女性网民信息。 周末两天的日志文件第一列为姓名,第二列为性别,第三列为本次停留时间,单位为分钟,分隔符为“,”。 log1.txt:周六网民停留日志 LiuYang,female,20 YuanJing,male,10 GuoYijun,male,5 CaiXuyu,female,50 Liyuan,male,20 FangBo,female,50 LiuYang,female,20 YuanJing,male,10 GuoYijun,male,50 CaiXuyu,female,50 FangBo,female,60 log2.txt:周日网民停留日志 LiuYang,female,20 YuanJing,male,10 CaiXuyu,female,50 FangBo,female,50 GuoYijun,male,5 CaiXuyu,female,50 Liyuan,male,20 CaiXuyu,female,50 FangBo,female,50 LiuYang,female,20 YuanJing,male,10 FangBo,female,50 GuoYijun,male,50 CaiXuyu,female,50 FangBo,female,60
-
操作步骤 一个简单的流处理系统由以下三部分组件组成:数据源 + 接收器 + 处理器。数据源为Kafka,接受器为Streaming中的Kafka数据源接收器,处理器为Streaming。 对Streaming调优,就必须使该三个部件的性能都更优化。 数据源调优 在实际的应用场景中,数据源为了保证数据的容错性,会将数据保存在本地磁盘中,而Streaming的计算结果全部在内存中完成,数据源很有可能成为流式系统的最大瓶颈点。 对Kafka的性能调优,有以下几个点: 使用Kafka-0.8.2以后版本,可以使用异步模式的新Producer接口。 配置多个Broker的目录,设置多个IO线程,配置Topic合理的Partition个数。 详情请参见Kafka开源文档中的“性能调优”部分:http://kafka.apache.org/documentation.html。 接收器调优 Streaming中已有多种数据源的接收器,例如Kafka、Flume、MQTT、ZeroMQ等,其中Kafka的接收器类型最多,也是最成熟一套接收器。 Kafka包括三种模式的接收器API: KafkaReceiver:直接接收Kafka数据,进程异常后,可能出现数据丢失。 ReliableKafkaReceiver:通过ZooKeeper记录接收数据位移。 DirectKafka:直接通过RDD读取Kafka每个Partition中的数据,数据高可靠。 从实现上来看,DirectKafka的性能更优,实际测试上来看,DirectKafka也确实比其他两个API性能好了不少。因此推荐使用DirectKafka的API实现接收器。 数据接收器作为一个Kafka的消费者,对于它的配置优化,请参见Kafka开源文档:http://kafka.apache.org/documentation.html。 处理器调优 Spark Streaming的底层由Spark执行,因此大部分对于Spark的调优措施,都可以应用在Spark Streaming之中,例如: 数据序列化 配置内存 设置并行度 使用External Shuffle Service提升性能 在做Spark Streaming的性能优化时需注意一点,越追求性能上的优化,Spark Streaming整体的可靠性会越差。例如: “spark.streaming.receiver.writeAheadLog.enable”配置为“false”的时候,会明显减少磁盘的操作,提高性能,但由于缺少WAL机制,会出现异常恢复时,数据丢失。 因此,在调优Spark Streaming的时候,这些保证数据可靠性的配置项,在生产环境中是不能关闭的。 日志归档调优 参数“spark.eventLog.group.size”用来设置一个应用的JobHistory日志按照指定job个数分组,每个分组会单独创建一个文件记录日志,从而避免应用长期运行时形成单个过大日志造成JobHistory无法读取的问题,设置为“0”时表示不分组。 大部分Spark Streaming任务属于小型job,而且产生速度较快,会导致频繁的分组,产生大量日志小文件消耗磁盘I/O。建议增大此值,例如改为“1000”或更大值。
-
原因分析 在Driver端打印异常如下: Exception Occurs: BadPadding 16/02/22 14:25:38 ERROR Schema: Failed initialising database. Unable to open a test connection to the given database. JDBC url = jdbc:postgresql://ip:port/sparkhivemeta, username = spark. Terminating connection pool (set lazyInit to true if you expect to start your database after your app). SparkSQL任务使用时,需要访问DBService以获取元数据信息,在客户端需要解密密文来访问,在使用过程中,用户没有按照流程操作,没有执行配置环境变量操作,且在其客户端环境变量中存在默认的JDK版本,导致在执行解密过程中调用的解密程序执行解密异常,导致用户被锁。
-
原因分析 在Driver日志中直接打印申请的executor memory超过集群限制。 ... INFO Client: Verifying our application has not requested more than the maximum memory capability of the cluster (6144 MB per container) ... ERROR SparkContext: Error initializing SparkContext. java.lang.IllegalArgumentException: Required executor memory (10240+1024 MB) is above the max threshold (6144 MB) of this cluster! Spark任务提交至Yarn上面,运行task的executor使用的资源受yarn的管理。从报错信息可看出,用户申请启动executor时,指定10G的内存,超出了Yarn设置的每个container的最大内存的限制,导致任务无法启动。
-
问题现象 使用Spark提交作业后,长期卡住不动。反复运行作业后报错,内容如下: Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Aborting TaskSet 3.0 because task 0 (partition 0) cannot run anywhere due to node and executor blacklist. Blacklisting behavior can be configured via spark.blacklist.*.
-
概述 DLI支持原生Spark的DataSource能力,并在其基础上进行了扩展,能够通过SQL语句或者Spark作业访问其他数据存储服务并导入、查询、分析处理其中的数据,目前支持的DLI跨源访问服务有:表格存储服务CloudTable,云搜索服务CSS,分布式缓存服务DCS,文档数据库服务DDS,数据仓库服务GaussDB(DWS),MapReduce服务MRS,云数据库RDS等。使用DLI的跨源能力,需要先创建跨源连接。 管理控制台界面具体操作请参考《数据湖探索用户指南》。 使用Spark作业跨源访问数据源支持使用scala,pyspark和java三种语言进行开发。 表格存储服务CloudTable相关介绍请参考《表格存储服务产品介绍》。 云搜索服务CSS相关介绍请参考《云搜索服务产品介绍》。 分布式缓存服务DCS相关介绍请参考《分布式缓存服务产品介绍》。 文档数据库服务DDS相关介绍请参考《文档数据库服务产品介绍》。 数据仓库服务GaussDB(DWS)相关介绍请参考《数据仓库服务产品介绍》。 MapReduce服务MRS相关介绍请参考《MapReduce服务产品介绍》。 云数据库RDS相关介绍请参考《云数据库服务产品介绍》。 父主题: 使用Spark作业跨源访问数据源
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格