找到
7
篇与
框架
相关的结果
-
fire {card-default label="📦 项目信息"} 🔧 项目名称:fire 💻 开发语言:Scala ⭐ Star数:727 | 🍴 Fork数:231 📜 开源协议:Apache-2.0 🔗 项目地址:https://gitee.com/fire-framework/fire {/card-default} 项目介绍 Fire框架是中通大数据自主研发并开源的大数据框架,专为Spark和Flink任务开发设计,可显著降低70%以上的代码量。该框架创新性地采用基于注解的方式进行Spark和Flink任务开发,并集成了实时血缘追踪、根因诊断、动态调优以及参数热调整等多项平台化功能。Fire框架已被数十家公司采用,累计收获了近千个Star,并拥有超过200人的社区,其中包括来自美团、阿里巴巴、作业帮等知名企业的成员。 项目详情 项目截图 项目截图 项目截图 Fire框架 Fire框架是由中通大数据自主研发并开源的、专门用于进行Spark和Flink任务开发的大数据框架,可节约70%以上的代码量。首创基于注解进行Spark和Flink任务开发,具备实时血缘、根因诊断、动态调优、参数热调整等众多平台化功能。Fire框架在中通内部每天处理数据量高达数千亿,在外部已被数十家公司所使用。 一、就这么简单! 1.1 Flink开发示例 @Config( """ |state.checkpoints.num-retained=30 # 支持任意Flink调优参数、Fire框架参数、用户自定义参数等 |state.checkpoints.dir=hdfs:///user/flink/checkpoint |""") @Hive("thrift://localhost:9083") // 配置连接到指定的hive @Streaming(interval = 100, unaligned = true) // 100s做一次checkpoint,开启非对齐checkpoint @Kafka(brokers = "localhost:9092", topics = "fire", groupId = "fire") object FlinkDemo extends FlinkStreaming { @Process def kafkaSource: Unit = { val dstream = this.fire.createKafkaDirectStream() // 使用api的方式消费kafka sql("""create table statement ...""") sql("""insert into statement ...""") } }1.2 Spark开发示例 @Config( """ |spark.shuffle.compress=true # 支持任意Spark调优参数、Fire框架参数、用户自定义参数等 |spark.ui.enabled=true |""") @Hive("thrift://localhost:9083") // 配置连接到指定的hive @Streaming(interval = 100, maxRatePerPartition = 100) // 100s一个Streaming batch,并限制消费速率 @Kafka(brokers = "localhost:9092", topics = "fire", groupId = "fire") object SparkDemo extends SparkStreaming { @Process def kafkaSource: Unit = { val dstream = this.fire.createKafkaDirectStream() // 使用api的方式消费kafka sql("""select * from xxx""").show() } }说明:structured streaming、spark core、flink sql、flink批任务均支持,代码结构与上述示例一致。 二、开发与示例 2.1 Spark开发示例 2.2 Flink开发示例 示例项目clone后导入idea即可run,无需任何额外配置! 三、亮点多多! 3.1 兼容主流版本 fire框架适配了不同的spark与flink版本,支持spark2.x及以上所有版本,flink1.10及以上所有版本,支持基于scala2.11或scala2.12进行编译。 # 可根据实际需要选择不同的引擎版本进行fire框架的构建 mvn clean install -DskipTests -Pspark-3.0 -Pflink-1.14 -Pscala-2.12Apache SparkApache Flink2.3.x1.12.x2.4.x1.13.x3.0.x1.14.x3.1.x1.15.x3.2.x1.16.x3.3.x1.17.x3.4.x1.18.x3.5.x1.19.x3.2 简单好用 Fire框架高度封装,屏蔽大量技术细节,许多connector仅需一行代码即可完成主要功能。同时Fire框架统一了spark与flink两大引擎常用的api,使用统一的代码风格即可实现spark与flink的代码开发。 HBase API // 读取HBase中指定rowkey数据并将结果集封装为DataFrame返回 val studentDF: DataFrame = this.fire.hbaseGetDF(hTableName, classOf[Student], getRDD) // 将指定数据集分布式插入到指定HBase表中 this.fire.hbasePutDF(hTableName, studentDF, classOf[Student]) JDBC API 通过注解配置数据源: @Jdbc(url = "jdbc:mysql://mysql-server:3306/fire", username = "root", password = "root") Spark示例: // 将DataFrame中指定几列插入到关系型数据库中,每100条一插入 df.jdbcBatchUpdate(insertSql, Seq("name", "age", "createTime", "length", "sex"), batch = 100) // 将查询结果通过反射映射到DataFrame中 val df: DataFrame = this.fire.jdbcQueryDF(querySql, Seq(1, 2, 3), classOf[Student]) Flink示例: val dstream = this.fire.createKafkaDirectStream().map(t => JSONUtils.parseObject[Student](t)) val sql = s""" |insert into spark_test(name, age, createTime) values(?, ?, ?) |ON DUPLICATE KEY UPDATE age=18 |""".stripMargin // sinkJdbc只需指定sql语句即可,fire会自动推断sql中占位符与JavaBean中成员变量的对应关系 dstream.sinkJdbc(sql) dstream.sinkJdbcExactlyOnce(sql, keyNum = 2)3.3 灵活的配置方式 支持基于接口、apollo、配置文件以及注解等多种方式配置,支持将spark&flink等引擎参数、fire框架参数以及用户自定义参数混合配置,支持运行时动态修改配置。几种常用配置方式如下(配置手册): 基于配置文件: 创建类名同名的properties文件进行参数配置 基于接口配置: fire框架提供了配置接口调用,通过接口获取所需的配置,可用于平台化的配置管理 基于注解配置: 通过注解的方式实现集群环境、connector、调优参数的配置,常用注解如下: @Config( """ |# 支持Flink调优参数、Fire框架参数、用户自定义参数等 |state.checkpoints.num-retained=30 |state.checkpoints.dir=hdfs:///user/flink/checkpoint |""") @Hive("thrift://localhost:9083") @Checkpoint(interval = 100, unaligned = true) @Kafka(brokers = "localhost:9092", topics = "fire", groupId = "fire") @RocketMQ(brokers = "bigdata_test", topics = "fire", groupId = "fire", tag = "*", startingOffset = "latest") @Jdbc(url = "jdbc:mysql://mysql-server:3306/fire", username = "root", password = "..root726") @HBase("localhost:2181")配置获取: Fire框架封装了统一的配置获取api,基于该api,无论是spark还是flink,无论是在Driver | JobManager端还是在Executor | TaskManager端,都可以一行代码获取所需配置。这套配置获取api,无需再在flink的map等算子中复写open方法了,用起来十分方便。 this.conf.getString("my.conf") this.conf.getInt("state.checkpoints.num-retained") ...3.4 多集群支持 Fire框架的配置支持N多集群,比如同一个任务中可以同时配置多个HBase、Kafka数据源,使用不同的数值后缀即可区分(keyNum): // 假设基于注解配置HBase多集群如下: @HBase("localhost:2181") @HBase2(cluster = "192.168.0.1:2181", storageLevel = "DISK_ONLY") // 代码中使用对应的数值后缀进行区分 this.fire.hbasePutDF(hTableName, studentDF, classOf[Student]) // 默认keyNum=1,表示使用@HBase注解配置的集群信息 this.fire.hbasePutDF(hTableName2, studentDF, classOf[Student], keyNum=2) // keyNum=2,表示使用@HBase2注解配置的集群信息3.5 常用connector支持 支持kafka、rocketmq、redis、HBase、Jdbc、clickhouse、Hive、hudi、tidb、adb等常见的connector。 3.6 checkpoint热修改 支持运行时动态调整checkpoint周期、超时时间、并行checkpoint等参数,避免任务重启时由于反压带来的checkpoint压力。 3.7 streaming热重启 该功能是主要用于Spark Streaming任务,通过热重启技术,可以在不重启Spark Streaming的前提下,实现批次时间的热修改。比如在web端将某个任务的批次时间调整为10s,会立即生效。 3.8 配置热更新 用户仅需在web页面中更新指定的配置信息,就可以让实时任务接收到最新的配置并且立即生效。最典型的应用场景是进行Spark任务的某个算子partition数调整,比如当任务处理的数据量较大时,可以通过该功能将repartition的具体分区数调大,会立即生效。 3.9 在线性能诊断 深度集成Arthas,可对运行中的任务动态进行性能诊断。fire为arthas诊断提供rest接口,可通过接口调用的方式选择为driver、jobmanager或executor、taskmanager动态开启与关闭arthas诊断线程,然后向统一的arthas tunnel服务注册,即可在网页端输入arthas命令进行性能诊断。 arthas-shell 3.10 sql在线调试 Fire框架对外暴露了restful接口,平台等系统可通过接口调用的方式将待执行的sql语句动态传递给fire,由fire将sql提交到对应的引擎,并将sql执行结果通过接口调用的方式返回,实现实时任务sql开发的在线调试,避免重复修改代码发布执行带来的时间成本。 3.11 实时血缘 Fire框架支持运行时统计分析每个任务所使用到的数据源信息、库表信息、操作类型等,并将这些血缘信息通过接口的方式对外暴露。实时平台等web系统通过接口调用的方式即可获取到实时血缘信息。截止目前,Fire框架支持高达30多种主流connector的血缘解析,包括:paimon、hudi、doris、hive、jdbc、StarRocks、HBase等等。Fire框架会将解析的血缘拼接成json格式,通过配置的地址周期性发送到指定的kafka topic中,下游实时平台消费血缘信息并做展示即可。 fire血缘架构 Fire框架同时支持**Spark**与**Flink**两大流式计算引擎的血缘解析,可实现全面洞悉数据流转链路、打通离线与实时计算的血缘形成闭环、还可协助快速定位线上的问题。 fire血缘展示 3.12 定时调度 Fire框架内部封装了quartz框架,实现通过Scheduled注解即可完成定时任务的注册。 /** * 声明了@Scheduled注解的方法是定时任务方法,会周期性执行 * * @scope 默认同时在driver端和executor端执行,如果指定了driver,则只在driver端定时执行 * @initialDelay 延迟多长时间开始执行第一次定时任务 */ @Scheduled(cron = "0/5 * * * * ?", scope = "driver", initialDelay = 60000) def loadTable: Unit = { this.logger.info("更新维表动作") }3.13 平台无缝集成 Fire框架内置restful服务,并将许多功能通过接口的方式对外暴露,实时平台可以通过fire框架暴露的接口实现与每个实时任务的信息连接。 3.14 fire-shell Fire框架整合spark shell与flink shell,支持通过REPL方式去动态调试spark和flink任务,并且支持fire框架的所有API。fire框架将shell能力通过接口方式暴露给实时平台,如此一来就可以通过web页面去调试spark和flink任务了。 四、升级日志 五、期待你的加入 社区技术交流:35373471(钉钉) 入群请备注:公司名称-岗位-昵称,否则不予理会 项目截图 项目截图 ⬇️ 下载地址 下载后请先检查文件完整性,如有问题请在评论区反馈 -
华为鸿蒙2.0如何安装谷歌服务框架 由于鸿蒙系统已删除了谷歌框架,但很多小伙伴还是想使用谷歌的一些服务。下面就详细介绍一下怎么在鸿蒙手机上安装谷歌服务框架。(Mate40 Pro实测成功,其他版本可以试一下, 原生鸿蒙系列无法安装 @cyw669) 第一步: 如果安装过Google套件需要先卸载原有Google套件,设置-应用和服务-应用管理,搜索Google、谷歌等,原有谷歌套件全部卸载掉。(注意,要点击右上角打开“显示系统应用”,未安装过可以直接略过) 华为鸿蒙2.0如何安装谷歌服务框架 图片1华为鸿蒙2.0如何安装谷歌服务框架 图片3 第二步:下载鸿蒙文件包 蓝奏:https://xiaodao.lanzout.com/iX3bB07rkohg 阿里:https://www.aliyundrive.com/s/7J4ncggYoQY 1.打开(1.准备)把里面的华为手机助手安装在电脑上,安装完成提示更新,千万不要更新。 华为鸿蒙2.0如何安装谷歌服务框架 图片5 2.把HM压缩包解压到桌面。 华为鸿蒙2.0如何安装谷歌服务框架 图片7 3.把base.apk安装到手机上(手机名字叫华为助手)。 华为鸿蒙2.0如何安装谷歌服务框架 图片9 4.打开手机设置-关于手机,连续点击版本号7次,输入锁屏密码打开开发者模式。 华为鸿蒙2.0如何安装谷歌服务框架 图片11 5.点击系统和更新-开发人员选项,打开USB调试功能。 华为鸿蒙2.0如何安装谷歌服务框架 图片13 6.打开电脑上的华为手机助手,并通过USB线连接手机,弹出是否允许USB调试点击确定,然后会自动跳转到华为手机助手,点击始终允许授权,然后输入验证码连接到电脑。 华为鸿蒙2.0如何安装谷歌服务框架 图片15华为鸿蒙2.0如何安装谷歌服务框架 图片17 7.打开HM文件夹,先运行adb.exe文件,然后再以管理员身份运行cmd.exe文件。 华为鸿蒙2.0如何安装谷歌服务框架 图片19 8.在cmd中输入adb devices,回车,如出现类似下图出现的则代表成功。 华为鸿蒙2.0如何安装谷歌服务框架 图片21 9.然后再输入adb install -r -d C:\(自己电脑文件的位置)\HM\oldBackup.apk,回车,出现下图则代表成功。(如还是不成功,可以去应用市场-安装管理,卸载备份软件) 华为鸿蒙2.0如何安装谷歌服务框架 图片23华为鸿蒙2.0如何安装谷歌服务框架 图片25 到此电脑操作步骤已完成,剩下的都在手机上操作。 第三步: 需要准备一个稳定谷歌账号,账号如果不稳定后期异常需要重装,用于登录。 1.打开(2.备份)把里面的backup.rar复制到手机上,然后解压到 我的手机/Huawei 这个位置。 华为鸿蒙2.0如何安装谷歌服务框架 图片27华为鸿蒙2.0如何安装谷歌服务框架 图片29 2.打开设置-系统和更新-日期和时间,把时间改成2019年。 华为鸿蒙2.0如何安装谷歌服务框架 图片31 3.返回打开备份和恢复,点击同意-始终允许-我知道了,完成后返回,再点击进来就可以了。 华为鸿蒙2.0如何安装谷歌服务框架 图片33 4.点击右上角-从内部存储恢复,选择备份,选中恢复,查看提示输入密码,密码为a12345678,恢复后点击完成。 华为鸿蒙2.0如何安装谷歌服务框架 图片35华为鸿蒙2.0如何安装谷歌服务框架 图片37 5.返回桌面点击谷歌服务助手,选择始终允许,然后点击激活就完成了,不用点击开始下载。 华为鸿蒙2.0如何安装谷歌服务框架 图片39华为鸿蒙2.0如何安装谷歌服务框架 图片41 注意:如果提示网络异常,需要卸载谷歌服务助手后,需要从第二步(7)重新进行,如出现暂不支持该设备,可跳过直接进行下一步。 第四步: 先去设置系统和更新-日期和时间-自动设置打开。 在添加账户时,如果有多个账户,请一次性添加完,后期无法添加更改, 改的话要重装。 安装完成以后谷歌账号不能改谷歌账号密码,改完就需要重装。 登录以后的账号不能退出,退出登录需要重装。 公司账号和学校账号部分无法同步,如果你有要注意看下,用个人账号。 1.把(3.登录)里的文件复制到手机,挂上梯后点击Huawei-谷歌登录进行安装。 华为鸿蒙2.0如何安装谷歌服务框架 图片43 2.安装完成后打开软件,点击Account-SIGN IN登录(如果返回的话,重新点击就可以了) 华为鸿蒙2.0如何安装谷歌服务框架 图片45 3.输入自己的谷歌账号密码进行登录,如果账号多的话,重复2、3步骤添加就行。 华为鸿蒙2.0如何安装谷歌服务框架 图片47 4.打开手机设置-用户和账户-Google,可以查看到自己的账号就可以了。 华为鸿蒙2.0如何安装谷歌服务框架 图片49 5.查看手机文件进行安装,安装顺序(3-Plty store,4-gsf.login,1-GSF)安装顺序一定不能错。 华为鸿蒙2.0如何安装谷歌服务框架 图片51华为鸿蒙2.0如何安装谷歌服务框架 图片53 6.安装完成后打开手机应用市场-我的-安装管理,找到谷歌登录器进行卸载。 华为鸿蒙2.0如何安装谷歌服务框架 图片55 7.然后返回文件管理,安装2-GMS。 华为鸿蒙2.0如何安装谷歌服务框架 图片57 8.然后打开手机设置查看有没有Google图标,再点击用户和账户-Google,查看自己的账户是否正确,手机会弹窗提醒错误这个是正常现象。 华为鸿蒙2.0如何安装谷歌服务框架 图片59华为鸿蒙2.0如何安装谷歌服务框架 图片61 9.打开设置-应用和服务-应用管理,强行停止Google Play 商店,强行停止Google 服务框架并删除数据,强行停止Google 账户管理程序并清除数据。 华为鸿蒙2.0如何安装谷歌服务框架 图片63华为鸿蒙2.0如何安装谷歌服务框架 图片65华为鸿蒙2.0如何安装谷歌服务框架 图片67 10.重启手机。 第五步:重启后挂上T 1.打开文件管理,再安装2-GMS文件。 2.打开设置-应用和服务-应用管理,强行停止Google Play 商店,强行停止Google 服务框架并删除数据,强行停止Google 账户管理程序并清除数据。 3.重启手机。 4.重启完成后,挂T打开谷歌商店,能正常显示就可以,也没有弹出错误通知。(弹出更新 Google Play 服务是正常现象) 5.打开设置-应用和服务-应用管理,打开Google Play服务-存储,管理空间-清除所有数据-确定 6.把(4.完成)里的GMS文件复制到手机上并安装,安装完成后重启手机,就完成全部安装了。 注意事项 1、安装完成后,关闭谷歌商店的自动更新软件功能。 2、微信分身和隐私空间如果不是必须使用就关闭下,要不会弹窗(就是通知栏会有警报),安装完成以后开启也可能弹窗。 3、安装文件要跟着教程的安装顺序,过程中有升级或者更新都取消。 下载后请先检查文件完整性,如有问题请在评论区反馈 -
细说Spring Security安全框架 细说Spring Security安全框架 图片1 课程介绍 Spring Security是一个基于Spring的安全框架,提供了一套Web应用安全性的完整解决方案。一般来说,Web应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。用户认证指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码,系统通过校验用户名和密码来完成认证过程。用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限是不同的。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。本课程细说Spring Security这套安全框架,通过案例带你快速学习掌握Spring Security。 学习地址 百度:https://pan.baidu.com/s/1fNrZ_NN35h86kmFsW8gx0Q 天翼:https://cloud.189.cn/t/BRjeiqF73ayu 下载后请先检查文件完整性,如有问题请在评论区反馈 -
顶级架构师手把手操刀设计实战 顶级架构师手把手操刀设计实战 图片1 课程介绍 设计模式和框架源码是IT领域中非常重要的概念。设计模式是在软件开发过程中解决常见问题的可复用解决方案,而框架源码是软件框架的核心代码,负责提供框架的功能和特性。设计模式的使用可以帮助开发人员在软件开发中遵循最佳实践,提高代码质量和可维护性。常见的设计模式包括单例模式、工厂模式、观察者模式等等。了解设计模式的原理和应用场景,可以帮助开发人员更好地设计和实现代码。 框架源码的研究可以帮助开发人员深入了解框架的实现原理和机制,从而更好地利用框架的功能和特性。同时,深入研究框架源码也有助于开发人员更好地定位和解决框架的问题。综上所述,了解设计模式和框架源码对于IT技术人员来说非常重要。它们可以帮助开发人员提高代码质量、提高开发效率,并更好地利用现有的软件框架。 学习地址 百度:https://pan.baidu.com/s/1k5l4Nwolpd7lwnTQEShUdg?pwd=s0qj 天翼:https://cloud.189.cn/web/share?code=FFR7baIzInau(访问码:1l9l) 阿里:https://www.aliyundrive.com/s/psBYeitRARa 夸克:https://pan.quark.cn/s/894344896518 下载后请先检查文件完整性,如有问题请在评论区反馈 -
千川投流速成底层框架策略实战 千川投流速成底层框架策略实战 图片1 课程介绍 《千川投流速成底层框架策略实战》是一门精炼的课程,专注于教授深入理解和灵活运用底层框架策略的方法。通过50字的实践性介绍,学员将学会在投资领域中运用这些策略,提升其交易技能和效益。 学习地址 百度:https://pan.baidu.com/s/1ZRdNaR_5S4zxTsp6VSy6Sg?pwd=l82i 天翼:https://cloud.189.cn/t/iyuaI3IRR7nm(访问码:0mol) 阿里:https://www.aliyundrive.com/s/bc8N2BY5G2o 夸克:https://pan.quark.cn/s/7d5a5d92cce1 下载后请先检查文件完整性,如有问题请在评论区反馈 -
Xposed 框架 LSPosed v1.5.0 软件介绍 LSPosed Xposed Framework,LSP框架基于Rirud的ART挂钩框架(最初为 Android Pie)提供与原版Xposed相同的API,利用YAHFA挂钩框架,支持Android 12。 Xposed 框架是一套开放源代码的、在Android高权限模式下运行的框架服务,可以在不修改APK文件的情况下修改程序的运行,基于它可以制作出许多功能强大的Xposed模块,且在功能不冲突的情况下同时运作。 软件Xposed 框架 LSPosed v1.5.0 图片2Xposed 框架 LSPosed v1.5.0 图片4 更新日志 https://github.com/LSPosed/LSPosed/releases 2021.08.15 v1.5.0 稳定版 修复管理器白屏 支持 split apk 形式的模块(LSPosed 会加载第一个带 xposed_init 的 apk) 修复从通知打开已卸载模块时候的崩溃 使用 SharedMemory 加载模块(这可以加快 app 冷启动速度)2 新的管理器图标 修复第一次安装错误的更新提示 修复在极其罕见情况下某些应用不显示在作用域列表 卸载模块时显示通知 防止模块 hook 内部方法(与 XposedBridge 同一个类加载器的方法) 食用方法 解锁或刷机,刷入ROOT工具面具补丁Magisk v23+ 在Magisk仓库下载安装模块Riru-Core v25 或更高版 在Magisk仓库下载安装模块Riru-LSPosed 最新版本 重启手机,完! 这些仓库在线下载很慢,建议下载到手机内部本地安装 支持系统 LSPosed目前支持的安卓版本: Android 8/9/10/11/12 Beta 2 ⬇️ 下载地址 下载后请先检查文件完整性,如有问题请在评论区反馈