1 Star 7 Fork 4

小豆子 / easy-spark

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

基于spark的快速离线分析框架

在spark基础上,做简单二次封装,简化初级程序员快速入手spark分析程序

架构

架构图

架构说明

  1. EngineCore自定义封装核心引擎
  2. SparkBase开发者继承类: 注入SQLContext,JavaSparkContext,SparkSession,ConfKit,DbFactory
  3. SQLContext,JavaSparkContext,SparkSession:spark原生操作类
  4. ConfKit:自定义配置文件操作类config.properties
  5. DbFactory:数据会话工厂配置各类数据源

本地开发模式

APP入口程序

通过注解的@Engine(name = "engineName")方式声明spark统计任务并继承SparkBase类,实现doAi方法。

@Engine(name = "GeoJsonApp")
public class GeoJsonApp extends SparkBase {

    @Override
    public void doAi(JSONObject params) {
        Dataset<Row> jsonDataset = sparkSession.read().json(configKit.getEsparkFilePath());
        jsonDataset.printSchema();
        jsonDataset.show();
    }
    
}

启动任务

EngineApp.java 根据参数输入需要调试启动的app

集群模式

示例已spark standalone模式,每台spark节点统计目录都需要有相同结构且相同文件。

集群提交的格式

  • cluster
    • config
    • lib 程序包
    • sh spark任务启动脚本

例如: A,B,C三台spark集群,文件放置目录 /home/easy-spark/cluster

集群打包要求

mvn clean install -Dmaven.test.skip=true -P cluster-build

提交脚本命令

注意:geo-json-app.sh脚本内部commonPropertiesPath必须配置成绝对路径否则读取不到自定义配置文件

$ cd cluster/sh
$ sh geo-json-app.sh

基于spark的快速离线分析框架使用文档

基于spark的快速离线分析框架使用文档

空文件

简介

基于SPARK封装的Java版本快速开发框架,用户只需要关心业务代码,无需关注繁琐的技术细节,大大提高实时流开发效率和难度。集成incubator-sedona支持gis运算 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/shengshifeiyang/easy-spark.git
git@gitee.com:shengshifeiyang/easy-spark.git
shengshifeiyang
easy-spark
easy-spark
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891