首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅谈Spark大数据开发一些最佳实践

长时间生产实践,我们总结了一套基于Scala开发Spark任务可行规范,来帮助我们写出高可读性、高可维护性和高质量代码,提升整体开发效率。...四、若使用Spark SQL编写代码,那么最好不要将核心SQL逻辑拆分成片段,这样会使可读性下降。对于有多段逻辑Job,需要让代码更多暴露出表操作核心逻辑。...,这样我们可以轻松理解这段代码到底是在做什么: 4 Spark开发最佳实践 一、使用Spark cache时,需要考虑它能否带来计算时间上提升。...二、DataFrame API 和Spark SQL union 行为是不一致,DataFrameunion默认不会进行去重,Spark SQL union 默认会进行去重。...此篇文章总结了我们使用 Spark 过程中所遇到挑战和技术案例,希望能够抛砖引玉,引出更多更好实践方案。最后,也要感谢杨青波对此文章贡献,以及刘炼和刘轶审稿。

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

Spark SQL100TB上自适应执行实践

Spark SQL是Apache Spark最广泛使用一个组件,它提供了非常友好接口来分布式处理结构化数据,很多应用领域都有成功生产实践,但是超大规模集群和数据集上,Spark SQL仍然遇到不少易用性和可扩展性挑战...挑战2:Spark SQL最佳执行计划 Spark SQL执行SQL之前,会将SQL或者Dataset程序解析成逻辑计划,然后经历一系列优化,最后确定一个可执行物理计划。...然而对于复杂SQL查询,它可能使用中间结果来作为join输入,计划阶段,Spark并不能精确地知道join两表大小或者会错误地估计它们大小,以致于错失了使用BroadcastHashJoin...自适应执行和Spark SQL100TB上性能比较 我们使用99台机器搭建了一个集群,使用Spark2.2TPC-DS 100TB数据集进行了实验,比较原版Spark和自适应执行性能。...总结 随着Spark SQL广泛使用以及业务规模不断增长,大规模数据集上遇到易用性和性能方面的挑战将日益明显。

2.5K60

Spark 数据导入一些实践细节

即使 JanusGraph OLAP 上面非常出色,对 OLTP 也有一定支持,但是 GraphFrame 等也足以支撑其 OLAP 需求,更何况 Spark 3.0 会提供 Cypher 支持情况下...推荐用 int 型节点 ID(可以使用 Snowflake算法 等),如果节点 ID 不是 int 型,这里可以通过节点/边中加入 policy: "uuid" 来设置自动生成 uuid。...如果使用是单独 Spark 集群可能不会出现 Spark 集群有冲突包问题,该问题主要是 sst.generator 存在可能和 Spark 环境内其他包产生冲突,解决方法是 shade 掉这些冲突包...3.4 关于 PR 因为较早版本使用Spark 导入,自然也有一些不太完善地方,这边也提出了一些拙见,对 SparkClientGenerator.scala 略作了修改。...最早在使用 Spark Writer(现:Exchange) 写入 Nebula Graph 时,发现错列问题。

1.5K20

Spring Batch大型企业最佳实践|洞见

笔者所在部门属于国外某大型金融公司CRM部门,日常工作我们经常需要开发一些批处理应用,对Spring Batch有着丰富使用经验。近段时间笔者特意总结了这些经验。...配置添加初始化Database配置: spring.batch.initializer.enable=true 5 合理使用Chunk机制 Spring batch配置Step时采用是基于...经过实践我们认为使用注解方式更好一些,因为使用接口你需要实现接口所有方法,而使用注解则只需要对相应方法添加annoation即可。...t) { // business logic } } 7 使用Retry和Skip增强批处理工作健壮性 处理百万级数据过程过程难免会出现异常。...使用过程我们仍需要坚持总结一些最佳实践,从而能够交付高质量可维护批处理应用,满足企业级应用苛刻要求。 ---- ----

2.7K90

集成测试软件开发应用和最佳实践

本文将以集成测试为主题,分析其软件开发过程作用,分享一些实践原则,以及一个具体案例,帮助大家理解并有效运用集成测试。 1....集成测试定义 分层测试策略,集成测试位于单元测试之后,系统测试之前。单元测试关注是单一组件或模块功能,而集成测试则关注这些组件或模块如何协同工作。...再测试原则,我们系统底层测试尽可能快,所以单元测试不应该涉及太多模块和外部依赖环境,可以把这类测试用例交给集成测试。 3....集成测试最佳实践 以下是一些实施集成测试最佳实践: 明确测试边界:明确哪些是集成测试范畴,哪些是单元测试或系统测试范畴。 自动化测试:自动化测试可以降低测试的人力成本,提高效率。...使用模拟和打桩:如果某些组件行为不易重现或者测试成本高,可以使用模拟(Mocking)或打桩(Stubbing)来模仿这些组件行为。 4.

32540

ResNet 高精度预训练模型 MMDetection 最佳实践

1 前言 作为最常见骨干网络,ResNet 目标检测算法起到了至关重要作用。...2 rsb 和 tnr ResNet50 上 训练策略对比 本文将先仔细分析说明 rsb 和 tnr 训练策略,然后再描述如何在下游目标检测任务微调从而大幅提升经典检测模型性能。...3 高性能预训练模型 目标检测任务上表现 本节探讨高性能预训练模型目标检测任务上表现。本实验主要使用 COCO 2017 数据集 Faster R-CNN FPN 1x 上进行。...,为了保证实验公平性,我们实验设置了随机种子 (Seed=0),全部实验均在 8 x V100上进行,batch size = 16(8×2)。...4 总结 通过之前实验,我们可以看出使用高精度预训练模型可以极大地提高目标检测效果,所有预训练模型最高结果与相应参数设置如下表所示: 从表格可以看出,使用任意高性能预训练模型都可以让目标检测任务性能提高

2.7K50

最佳实践 | 单元测试+回归测试SRS代码提交实践总结

最先review代码是SRS技术委员会进学, 他提出了一个问题:“如果Sender Report乱序了,计算出来时间戳是对吗?”...大概花了几天时候系统学习了GTEST和GMOCK以后, 我就把单元测试写完了, 我心想这事情也没有想象难嘛,完全是个脏活累活, 不就是构造一些参数, 逐个函数验证嘛。...经过这一次实践, 单元测试给我带来体会是: 以后再怎么改代码, 跑一遍单元测试, 起码能让人安心, 知道这一次修改代码没有基本函数级别的错误; 试想一下如果没有用单元测试发现这几处细微代码错误,...这就足够了, 保证了BUG尽量早期被发现, 提升软件可靠性。...腾讯云音视频音视频领域已有超过21年技术积累,持续支持国内90%音视频客户实现云上创新,独家具备 RT-ONE™ 全球网络,在此基础上,构建了业界最完整 PaaS 产品家族,并以 All in

1.1K30

视图SQL作用是什么,它是怎样工作

player_id, height FROM player WHERE height > (SELECT AVG(height) from player) 当视图创建之后,它就相当于一个虚拟表,可以直接使用...view_name AS SELECT column1, column2 FROM table WHERE condition 删除视图:DROP VIEW DROP VIEW view_name 需要说明是...,SQLite 不支持视图修改,仅支持只读视图,也就是说你只能使用 CREATE VIEW 和 DROP VIEW,如果想要修改视图,就需要先 DROP 然后再 CREATE。...如何使用视图简化 SQL 操作 利用视图完成复杂连接 CREATE VIEW player_height_grades AS SELECT p.player_name, p.height, h.height_level...(' , team.team_name , ')') AS player_team FROM player JOIN team WHERE player.team_id = team.team_id 使用视图与计算字段

2K82

【DB笔试面试605】OracleSQL概要(SQL Profile)作用是什么

♣ 题目部分 OracleSQL概要(SQL Profile)作用是什么?...②SQL Profile在对SQL语句支持上做得更好,也就是适用范围更广。 对于sqlprof_attr部分数据可以使用脚本coe_xfr_sql_profile.sql脚本生成。...使用SQL Profile两个目的:①锁定或者说是稳定执行计划。②不能修改应用SQL情况下使SQL语句按指定执行计划运行。...SQL Profile最大优点是不修改SQL语句和会话执行环境情况下去优化SQL执行效率,适合无法应用程序修改SQL时。...('FULL(t1@SEL$1)')是这里格式如何写,Mos上文章note 215187.1sqlt.zip目录utl中提供了脚本coe_xfr_sql_profile.sql可以生成这些信息

88210

Python爬虫技术SEO优化关键应用和最佳实践

今天我要和大家分享一个关于SEO优化秘密武器:Python爬虫技术。在这篇文章,我们将探讨Python爬虫SEO优化关键应用和最佳实践。...下面是一些关键应用和实践:  1.竞争对手分析:使用Python爬虫技术,我们可以轻松地抓取竞争对手网站数据,包括关键词排名、页面结构、外部链接等。...通过对竞争对手分析,我们可以评估他们优势和劣势,并相应地调整我们优化策略。  2.关键词研究和内容优化:Python爬虫可以帮助我们从搜索引擎抓取相关搜索结果和关键词建议。...这样,我们可以更直观地了解网站优化效果,并优化我们策略。  需要强调是,使用Python爬虫技术进行SEO优化需要遵守合法和道德原则。...我们应该遵守网站Robots协议,尊重网站所有者权益,并避免对他人网站进行恶意爬取。  总结一下,Python爬虫技术SEO优化具有丰富应用和潜力。

26020

容器化环境管理基础设施9个最佳实践

以下详细介绍了Wright和其他专家9个最佳实践,这些实践可以帮助IT基础设施专业人员更好地管理容器化工作负载。 (1)准备学习 由于容器技术是如此新颖,很少有IT专业人员具有使用该技术经验。...Wright说,“容器技术应用代表了一个令人兴奋机会,可以将新实践和方法引入IT运营,并缩小应用程序和基础设施之间差距。”...(6)考虑采用混合存储方法 容器化环境存储也很麻烦。虚拟机和传统工作负载需要长期访问存储资源,但在处理可能仅存在几分钟或几小时容器时,情况就会大不相同。...Gartner公司在其关于容器最佳实践博客文章中指出,“共享主机操作系统内核完整性对于运行在其上容器完整性和隔离性至关重要。...应该使用硬化、修补过、最低限度操作系统作为主机操作系统,并且应该不断监视容器漏洞和恶意软件,以确保可靠服务交付。”

86220

一文搞懂 Python 模块和包,实战最佳实践

一文搞懂 Python 模块和包,实战最佳实践 最近公司有个项目,我需要写个小爬虫,将爬取到数据进行统计分析。... Windows ,可以命令行中使用 set PYTHONPATH=项目绝对路径 命令,设置此环境变量。...使用 python -m xxx.xxx.模块名 运行方式,测试模块【不推荐】 模块代码,使用相对导入方式,运行时不要采取 python xxx/xxx/xxx.py 脚本运行方式,而是采取模块运行方式...而通常情况下,我们自己写包和模块,仅仅在本项目内使用,完全可以借助于 PYTHONPATH 环境变量,使用绝对导入来引用本地任意模块,使用相对导入 __init__.py 引用包模块。...未经允许不得转载:肥猫博客 » 一文搞懂 Python 模块和包,实战最佳实践

1.5K41

JWTSpring Boot最佳实践:构建坚不可摧安全堡垒

前言大家好,我是腾讯云开发者社区 Front_Yue,本篇文章将介绍什么是JWT以及JWTSpring Boot项目中最佳实践现今Web应用,安全性是至关重要。...Spring Boot应用,JWT经常被用作无状态认证方式,使得客户端可以每次请求时都带上JWT,从而进行身份验证。...服务器创建token时候使用这个密钥对header和payload进行签名,生成第三部分。客户端在请求时带上这个JWT,服务器使用相同密钥进行验证。...二、Spring Boot中使用JWTSpring Boot,你可以通过以下步骤集成JWT:1....总结使用JWT进行用户认证和授权提供了灵活性和可扩展性,使得前后端分离应用更容易管理用户会话。通过正确配置JWT工具类,我们可以轻松地Spring Boot应用实现JWT认证。

54332

【DB笔试面试607】Oracle,coe_load_sql_profile.sql脚本作用是什么

♣ 题目部分 Oracle,coe_load_sql_profile.sql脚本作用是什么?...♣ 答案部分 可以使用coe_load_sql_profile.sql脚本直接固定执行计划,该脚本也可以实现直接把sqlprofile直接迁移到其它库。...很多DBA习惯于使用coe_xfr_sql_profile.sql脚本来固定SQL执行计划,但是这个脚本操作起来比较麻烦,而且容易出错。这个脚本正确用途是用来做不同数据库之间SQL执行计划固定。...最方便脚本是:coe_load_sql_profile.sql使用这个脚本,只需要输入几个参数,就能完成快速恢复执行计划任务。...SQL> 6.查看产生sql profile,此时原语句不加hint情况下也走全表扫了select * from dba_sql_profiles; SQL>set line 9999 SQL>

1.5K20
领券