├── docs ├── static │ ├── .nojekyll │ └── img │ │ ├── ads.txt │ │ ├── home.png │ │ ├── easy_of_deploy.svg │ │ └── new.svg ├── _config.yml ├── versions.json ├── docs │ ├── extend │ │ ├── _category_.json │ │ ├── expand_statements │ │ │ ├── _category_.json │ │ │ └── print_table.md │ │ └── function_expansion │ │ │ ├── _category_.json │ │ │ └── global_var_ext.md │ ├── openapi │ │ └── _category_.json │ ├── user_guide │ │ ├── _category_.json │ │ ├── studio │ │ │ ├── _category_.json │ │ │ ├── catalog.md │ │ │ ├── jdbc_task_devlop.md │ │ │ └── flink_env_task_devlop.md │ │ ├── auth_center │ │ │ ├── _category_.json │ │ │ ├── token.md │ │ │ ├── tenant.md │ │ │ ├── row_limits.md │ │ │ ├── menu.md │ │ │ └── role.md │ │ ├── devops_center │ │ │ └── _category_.json │ │ ├── register_center │ │ │ ├── _category_.json │ │ │ ├── alert │ │ │ │ ├── _category_.json │ │ │ │ ├── alert_overview.md │ │ │ │ └── alert_group.md │ │ │ ├── udf.md │ │ │ └── git_project.md │ │ ├── system_setting │ │ │ ├── _category_.json │ │ │ ├── global_settings │ │ │ │ ├── _category_.json │ │ │ │ ├── flink_setting.md │ │ │ │ └── metrics_setting.md │ │ │ └── system_log.md │ │ └── metrics_overview.md │ ├── deploy_guide │ │ ├── _category_.json │ │ └── upgrade │ │ │ ├── _category_.json │ │ │ └── upgrade_overview.md │ ├── get_started │ │ └── _category_.json │ ├── developer_guide │ │ ├── _category_.json │ │ └── contribution │ │ │ ├── _category_.json │ │ │ └── auto_sync.md │ ├── practical_guide │ │ ├── _category_.json │ │ ├── run_mode_practice │ │ │ ├── _category_.json │ │ │ ├── local_model_submit.md │ │ │ ├── projob_model_submit.md │ │ │ ├── k8s_native_model_submit.md │ │ │ ├── k8s_session_model_submit.md │ │ │ ├── standalone_model_submit.md │ │ │ ├── yarnsession_model_submit.md │ │ │ └── k8s_operater_model_submit.md │ │ ├── scenario_practice │ │ │ ├── _category_.json │ │ │ ├── mysqlcdc2hudi.md │ │ │ ├── mysqlcdc2doris.md │ │ │ ├── mysqlcdc2paimon.md │ │ │ └── mysqlcdc2starrocks.md │ │ ├── Integration_practice │ │ │ └── _category_.json │ │ └── cdcsource_practice │ │ │ ├── _category_.json │ │ │ ├── cdcsource_mysqlcdc2hivecatalog.md │ │ │ ├── cdcsource_mysqlcdc2dinkycatalog.md │ │ │ └── cdcsource_mysqlcdc2print.md │ ├── comminicate.md │ └── roadmap.md ├── versioned_docs │ ├── version-0.7 │ │ ├── extend │ │ │ ├── _category_.json │ │ │ ├── function_expansion │ │ │ │ ├── _category_.json │ │ │ │ ├── connector.md │ │ │ │ └── flinkversion.md │ │ │ └── practice_guide │ │ │ │ ├── _category_.json │ │ │ │ ├── iceberg.md │ │ │ │ ├── clickhouse.md │ │ │ │ ├── dataspherestudio.md │ │ │ │ ├── dolphinscheduler.md │ │ │ │ ├── udf.md │ │ │ │ └── flinkcdc.md │ │ ├── deploy_guide │ │ │ └── _category_.json │ │ ├── get_started │ │ │ ├── _category_.json │ │ │ └── quick_start │ │ │ │ └── _category_.json │ │ ├── k8s_guide │ │ │ └── _category_.json │ │ ├── platform_intro │ │ │ ├── _category_.json │ │ │ ├── roadmap.md │ │ │ ├── intro.md │ │ │ └── feature.md │ │ ├── udf_develop │ │ │ ├── _category_.json │ │ │ ├── how_to │ │ │ │ └── _category_.json │ │ │ └── intro.md │ │ ├── administrator_guide │ │ │ ├── _category_.json │ │ │ ├── studio │ │ │ │ ├── _category_.json │ │ │ │ ├── development_control │ │ │ │ │ ├── _category_.json │ │ │ │ │ └── component_introduce.md │ │ │ │ ├── job_log.md │ │ │ │ └── job_monitoring.md │ │ │ ├── devops_center │ │ │ │ ├── _category_.json │ │ │ │ └── job_details.md │ │ │ ├── register_center │ │ │ │ └── _category_.json │ │ │ ├── system_setting │ │ │ │ └── _category_.json │ │ │ └── data_integration │ │ │ │ └── _category_.json │ │ ├── connector │ │ │ └── _category_.json │ │ ├── developer_guide │ │ │ ├── _category_.json │ │ │ └── contribution │ │ │ │ └── _category_.json │ │ ├── data_integration_guide │ │ │ └── _category_.json │ │ ├── flink_sql_development_guide │ │ │ ├── _category_.json │ │ │ ├── ddl_statement │ │ │ │ ├── _category_.json │ │ │ │ └── alter_statements.md │ │ │ ├── dml_statements │ │ │ │ ├── _category_.json │ │ │ │ └── insert_statements.md │ │ │ ├── expand_statements │ │ │ │ ├── _category_.json │ │ │ │ └── add_jar_statement.md │ │ │ └── development_guide_overview.md │ │ ├── plans.md │ │ ├── comminicate.md │ │ ├── thanks.md │ │ └── upgrade.md │ ├── version-1.0 │ │ ├── extend │ │ │ ├── _category_.json │ │ │ ├── expand_statements │ │ │ │ ├── _category_.json │ │ │ │ └── print_table.md │ │ │ └── function_expansion │ │ │ │ ├── _category_.json │ │ │ │ └── global_var_ext.md │ │ ├── openapi │ │ │ └── _category_.json │ │ ├── deploy_guide │ │ │ ├── _category_.json │ │ │ └── upgrade │ │ │ │ ├── _category_.json │ │ │ │ └── upgrade_overview.md │ │ ├── get_started │ │ │ └── _category_.json │ │ ├── user_guide │ │ │ ├── _category_.json │ │ │ ├── studio │ │ │ │ ├── _category_.json │ │ │ │ ├── catalog.md │ │ │ │ ├── jdbc_task_devlop.md │ │ │ │ └── flink_env_task_devlop.md │ │ │ ├── auth_center │ │ │ │ ├── _category_.json │ │ │ │ ├── token.md │ │ │ │ ├── tenant.md │ │ │ │ ├── row_limits.md │ │ │ │ ├── role.md │ │ │ │ └── menu.md │ │ │ ├── devops_center │ │ │ │ └── _category_.json │ │ │ ├── register_center │ │ │ │ ├── alert │ │ │ │ │ ├── _category_.json │ │ │ │ │ ├── alert_overview.md │ │ │ │ │ └── alert_group.md │ │ │ │ ├── _category_.json │ │ │ │ └── udf.md │ │ │ ├── system_setting │ │ │ │ ├── _category_.json │ │ │ │ ├── global_settings │ │ │ │ │ ├── _category_.json │ │ │ │ │ └── flink_setting.md │ │ │ │ └── system_log.md │ │ │ └── metrics_overview.md │ │ ├── developer_guide │ │ │ ├── _category_.json │ │ │ └── contribution │ │ │ │ ├── _category_.json │ │ │ │ └── auto_sync.md │ │ ├── practical_guide │ │ │ ├── _category_.json │ │ │ ├── cdcsource_practice │ │ │ │ ├── _category_.json │ │ │ │ ├── cdcsource_mysqlcdc2hivecatalog.md │ │ │ │ ├── cdcsource_mysqlcdc2dinkycatalog.md │ │ │ │ └── cdcsource_mysqlcdc2print.md │ │ │ ├── run_mode_practice │ │ │ │ ├── _category_.json │ │ │ │ ├── local_model_submit.md │ │ │ │ ├── projob_model_submit.md │ │ │ │ ├── k8s_native_model_submit.md │ │ │ │ ├── standalone_model_submit.md │ │ │ │ ├── k8s_operater_model_submit.md │ │ │ │ ├── k8s_session_model_submit.md │ │ │ │ └── yarnsession_model_submit.md │ │ │ ├── scenario_practice │ │ │ │ ├── _category_.json │ │ │ │ ├── mysqlcdc2hudi.md │ │ │ │ ├── mysqlcdc2paimon.md │ │ │ │ ├── mysqlcdc2doris.md │ │ │ │ └── mysqlcdc2starrocks.md │ │ │ └── Integration_practice │ │ │ │ └── _category_.json │ │ ├── comminicate.md │ │ └── roadmap.md │ └── version-1.1 │ │ ├── extend │ │ ├── _category_.json │ │ ├── expand_statements │ │ │ ├── _category_.json │ │ │ └── print_table.md │ │ └── function_expansion │ │ │ ├── _category_.json │ │ │ └── global_var_ext.md │ │ ├── openapi │ │ └── _category_.json │ │ ├── deploy_guide │ │ ├── _category_.json │ │ └── upgrade │ │ │ ├── _category_.json │ │ │ └── upgrade_overview.md │ │ ├── get_started │ │ └── _category_.json │ │ ├── user_guide │ │ ├── _category_.json │ │ ├── studio │ │ │ ├── _category_.json │ │ │ ├── catalog.md │ │ │ ├── jdbc_task_devlop.md │ │ │ └── flink_env_task_devlop.md │ │ ├── auth_center │ │ │ ├── _category_.json │ │ │ ├── token.md │ │ │ ├── tenant.md │ │ │ ├── row_limits.md │ │ │ ├── role.md │ │ │ └── menu.md │ │ ├── devops_center │ │ │ └── _category_.json │ │ ├── register_center │ │ │ ├── alert │ │ │ │ ├── _category_.json │ │ │ │ ├── alert_overview.md │ │ │ │ └── alert_group.md │ │ │ ├── _category_.json │ │ │ └── udf.md │ │ ├── system_setting │ │ │ ├── _category_.json │ │ │ ├── global_settings │ │ │ │ ├── _category_.json │ │ │ │ └── flink_setting.md │ │ │ └── system_log.md │ │ └── metrics_overview.md │ │ ├── developer_guide │ │ ├── _category_.json │ │ └── contribution │ │ │ ├── _category_.json │ │ │ └── auto_sync.md │ │ ├── practical_guide │ │ ├── _category_.json │ │ ├── cdcsource_practice │ │ │ ├── _category_.json │ │ │ ├── cdcsource_mysqlcdc2hivecatalog.md │ │ │ ├── cdcsource_mysqlcdc2dinkycatalog.md │ │ │ └── cdcsource_mysqlcdc2print.md │ │ ├── run_mode_practice │ │ │ ├── _category_.json │ │ │ ├── local_model_submit.md │ │ │ ├── projob_model_submit.md │ │ │ ├── k8s_native_model_submit.md │ │ │ ├── standalone_model_submit.md │ │ │ ├── k8s_operater_model_submit.md │ │ │ ├── k8s_session_model_submit.md │ │ │ └── yarnsession_model_submit.md │ │ ├── scenario_practice │ │ │ ├── _category_.json │ │ │ ├── mysqlcdc2hudi.md │ │ │ ├── mysqlcdc2paimon.md │ │ │ ├── mysqlcdc2doris.md │ │ │ └── mysqlcdc2starrocks.md │ │ └── Integration_practice │ │ │ └── _category_.json │ │ ├── comminicate.md │ │ └── roadmap.md ├── blog │ ├── blog_img │ │ ├── head_img │ │ │ ├── header1.png │ │ │ ├── header2.png │ │ │ └── header3.gif │ │ └── kudu_extend │ │ │ ├── kudu_table.png │ │ │ ├── click_running.png │ │ │ ├── tag_version.png │ │ │ ├── sqldemo_submit1.png │ │ │ ├── register_cluster.png │ │ │ ├── update_kuducatalog.png │ │ │ └── show_kudu_tabledata.png │ └── authors.yml ├── versioned_sidebars │ ├── version-0.7-sidebars.json │ ├── version-1.0-sidebars.json │ └── version-1.1-sidebars.json ├── i18n │ ├── en │ │ ├── docusaurus-plugin-content-docs-download │ │ │ └── current.json │ │ └── docusaurus-plugin-content-blog │ │ │ └── options.json │ └── zh │ │ ├── docusaurus-plugin-content-docs-download │ │ └── current.json │ │ └── docusaurus-plugin-content-blog │ │ └── options.json ├── tsconfig.json └── babel.config.js ├── script └── sql │ └── upgrade │ └── 1.0.2_schema │ ├── mysql │ └── dinky_ddl.sql │ └── postgre │ └── dinky_ddl.sql ├── dinky-core └── src │ ├── main │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ ├── org.dinky.job.JobHandler │ │ │ └── org.apache.flink.table.factories.Factory │ └── java │ │ └── org │ │ └── dinky │ │ └── data │ │ └── result │ │ └── JobSubmitResult.java │ └── test │ └── resources │ ├── META-INF │ └── services │ │ └── org.dinky.job.JobHandler │ └── flink │ └── sql │ ├── single-insert.sql │ └── variable.sql ├── dinky-alert ├── dinky-alert-sms │ └── src │ │ └── main │ │ └── resources │ │ ├── Sms.ftl │ │ └── META-INF │ │ └── services │ │ └── org.dinky.alert.Alert ├── dinky-alert-http │ └── src │ │ └── main │ │ └── resources │ │ ├── Http.ftl │ │ └── META-INF │ │ └── services │ │ └── org.dinky.alert.Alert ├── dinky-alert-email │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.alert.Alert ├── dinky-alert-feishu │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.alert.Alert ├── dinky-alert-wechat │ └── src │ │ └── main │ │ └── resources │ │ ├── META-INF │ │ └── services │ │ │ └── org.dinky.alert.Alert │ │ ├── WeChat-wechat.ftl │ │ └── WeChat-app.ftl └── dinky-alert-dingtalk │ └── src │ └── main │ └── resources │ ├── META-INF │ └── services │ │ └── org.dinky.alert.Alert │ └── DingTalk.ftl ├── dinky-common └── src │ └── main │ ├── resources │ └── common.properties │ └── java │ └── org │ └── dinky │ └── data │ ├── model │ └── ResourcesModelEnum.java │ ├── metrics │ └── BaseMetrics.java │ └── enums │ ├── MenuType.java │ └── BusinessStatus.java ├── images ├── v1-2 │ ├── devops.png │ ├── metrics.png │ ├── data-debug.png │ └── datastudio.png ├── v1 │ ├── checksql.png │ ├── lineage.png │ ├── monitor.png │ ├── datastudio.png │ └── versiondiff.png └── main │ ├── dinkydingding.jpg │ └── dinky_principle.png ├── dinky-metadata ├── dinky-metadata-mysql │ └── src │ │ └── main │ │ └── resources │ │ ├── mockito-extensions │ │ └── org.mockito.plugins.MockMaker │ │ └── META-INF │ │ └── services │ │ └── org.dinky.metadata.driver.Driver ├── dinky-metadata-doris │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.metadata.driver.Driver ├── dinky-metadata-hive │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.metadata.driver.Driver ├── dinky-metadata-oracle │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.metadata.driver.Driver ├── dinky-metadata-paimon │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.metadata.driver.Driver ├── dinky-metadata-phoenix │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.metadata.driver.Driver ├── dinky-metadata-presto │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.metadata.driver.Driver ├── dinky-metadata-clickhouse │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.metadata.driver.Driver ├── dinky-metadata-postgresql │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.metadata.driver.Driver ├── dinky-metadata-sqlserver │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.metadata.driver.Driver ├── dinky-metadata-starrocks │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.metadata.driver.Driver └── dinky-metadata-base │ └── src │ └── main │ └── java │ └── org │ └── dinky │ └── metadata │ └── config │ └── IConnectConfig.java ├── dinky-web ├── .eslintignore ├── public │ ├── favicon.ico │ ├── community │ │ ├── qq.png │ │ ├── wechat.jpg │ │ └── dingtalk.jpg │ ├── icons │ │ └── user_avatar.png │ └── imgs │ │ └── login_background.jpg ├── src │ ├── pages │ │ ├── DataStudio │ │ │ ├── components │ │ │ │ └── CusPanelResizeHandle │ │ │ │ │ └── index.less │ │ │ ├── css │ │ │ │ └── imgs │ │ │ │ │ ├── close-dark.svg │ │ │ │ │ └── close-light.svg │ │ │ └── index.less │ │ └── AuthCenter │ │ │ └── User │ │ │ └── components │ │ │ └── constants.tsx │ ├── types │ │ ├── Home │ │ │ └── state.d.ts │ │ └── DevOps │ │ │ └── init.d.ts │ ├── components │ │ ├── Flink │ │ │ └── FlinkDag │ │ │ │ └── index.css │ │ └── JobTags │ │ │ └── data.d.ts │ └── services │ │ └── index.ts ├── jsconfig.json ├── .prettierignore ├── .editorconfig ├── README_zh_CN.md ├── tsconfig.json └── .gitignore ├── .mvn └── wrapper │ └── maven-wrapper.jar ├── dinky-admin └── src │ ├── main │ ├── resources │ │ ├── META-INF │ │ │ ├── services │ │ │ │ ├── org.dinky.job.JobHandler │ │ │ │ └── org.dinky.daemon.task.DaemonTask │ │ │ └── spring.factories │ │ ├── json │ │ │ ├── openapi_submittask.json │ │ │ ├── openapi_getjobdata.json │ │ │ ├── openapi_savepointtask.json │ │ │ ├── openapi_cancel.json │ │ │ ├── openapi_savepoint.json │ │ │ ├── openapi_explainsql.json │ │ │ ├── openapi_getjobplan.json │ │ │ ├── openapi_getstreamgraph.json │ │ │ └── openapi_executeJar_application.json │ │ ├── db │ │ │ └── migration │ │ │ │ └── h2 │ │ │ │ └── V20240827.1.2.0__release.sql │ │ ├── templates │ │ │ └── executeJar.sql │ │ ├── banner.txt │ │ ├── jmx │ │ │ └── jmx_exporter_config.yaml │ │ ├── mapper │ │ │ ├── UserTenantMapper.xml │ │ │ └── RoleMenuMapper.xml │ │ └── mybatis.xml │ └── java │ │ └── org │ │ └── dinky │ │ ├── service │ │ ├── sse │ │ │ └── SseService.java │ │ └── APIService.java │ │ └── mybatis │ │ └── annotation │ │ └── Save.java │ └── test │ └── java │ └── org │ └── dinky │ └── service │ └── impl │ └── PrintTableServiceImplTest.java ├── e2e_test ├── tools │ ├── requirements.txt │ ├── dinky_task │ │ ├── udf │ │ │ ├── JAVA_UDF.java │ │ │ ├── SCALA_UDF.scala │ │ │ └── PYTHON_UDF.py │ │ └── flink_jar_sql │ │ │ └── mysql2doris.sql │ └── httpUtil.py └── docker-compose-env │ ├── mysql │ ├── conf │ │ └── conf.d │ │ │ ├── my.cnf │ │ │ └── my.conf │ └── docker-compose.yml │ ├── doris │ └── docker-compose.yml │ ├── FlinkDockerfile │ ├── Dockerfile │ └── dinky │ └── docker-compose.yml ├── dinky-sandbox ├── dinky-sandbox-memory │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.sandbox.Sandbox ├── dinky-sandbox-base │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── dinky │ │ └── sandbox │ │ └── AbstractSandbox.java └── pom.xml ├── .idea ├── encodings.xml ├── sqldialects.xml └── vcs.xml ├── dinky-cdc ├── dinky-cdc-plus │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.cdc.SinkBuilder └── dinky-cdc-core │ └── src │ └── main │ └── resources │ └── META-INF │ └── services │ └── org.dinky.cdc.SinkBuilder ├── dinky-connectors └── dinky-connector-embedded │ └── src │ └── main │ └── resources │ └── META-INF │ └── services │ └── org.apache.flink.table.factories.Factory ├── check_package_size.sh ├── dinky-scheduler └── src │ └── main │ └── resources │ └── json │ └── taskRelation.json ├── deploy ├── docker │ ├── DockerfileWeb │ ├── web │ │ └── default.conf │ ├── docker-compose.yml │ ├── Dockerfile │ └── docker-compose.dev.yml └── kubernetes │ └── helm │ └── dinky │ ├── templates │ ├── secret-mysql-database.yaml │ ├── secret-postgres-database.yaml │ ├── secret-external-mysql-database.yaml │ ├── secret-external-postgres-database.yaml │ └── service-external-database.yaml │ ├── .helmignore │ └── conf │ └── jmx │ └── jmx_exporter_config.yaml ├── .gitattributes ├── dinky-gateway └── src │ ├── main │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.dinky.gateway.Gateway │ └── test │ └── java │ └── org │ └── dinky │ └── gateway │ └── GatewayTest.java ├── dinky-client └── dinky-client-base │ └── src │ └── main │ └── resources │ └── META-INF │ └── services │ └── org.apache.flink.table.planner.parse.ExtendedParseStrategy ├── .github ├── PULL_REQUEST_TEMPLATE.md ├── workflows │ └── pr-reviewer-assign.yml └── ISSUE_TEMPLATE │ └── config.yml ├── style └── license_header ├── dinky-catalog ├── dinky-catalog-mysql │ ├── dinky-catalog-mysql-1.14 │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.flink.table.factories.Factory │ ├── dinky-catalog-mysql-1.15 │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.flink.table.factories.Factory │ ├── dinky-catalog-mysql-1.16 │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.flink.table.factories.Factory │ ├── dinky-catalog-mysql-1.17 │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.flink.table.factories.Factory │ ├── dinky-catalog-mysql-1.18 │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.flink.table.factories.Factory │ ├── dinky-catalog-mysql-1.19 │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.flink.table.factories.Factory │ └── dinky-catalog-mysql-1.20 │ │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory └── dinky-catalog-postgres │ ├── dinky-catalog-postgres-1.14 │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory │ ├── dinky-catalog-postgres-1.15 │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory │ ├── dinky-catalog-postgres-1.16 │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory │ ├── dinky-catalog-postgres-1.17 │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory │ ├── dinky-catalog-postgres-1.18 │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory │ ├── dinky-catalog-postgres-1.19 │ └── src │ │ └── main │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory │ └── dinky-catalog-postgres-1.20 │ └── src │ └── main │ └── resources │ └── META-INF │ └── services │ └── org.apache.flink.table.factories.Factory └── .gitmodules /docs/static/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /script/sql/upgrade/1.0.2_schema/mysql/dinky_ddl.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /script/sql/upgrade/1.0.2_schema/postgre/dinky_ddl.sql: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/versions.json: -------------------------------------------------------------------------------- 1 | [ 2 | "1.1", 3 | "1.0", 4 | "0.7" 5 | ] 6 | -------------------------------------------------------------------------------- /dinky-core/src/main/resources/META-INF/services/org.dinky.job.JobHandler: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dinky-alert/dinky-alert-sms/src/main/resources/Sms.ftl: -------------------------------------------------------------------------------- 1 | ${title} 2 | ${content} -------------------------------------------------------------------------------- /dinky-common/src/main/resources/common.properties: -------------------------------------------------------------------------------- 1 | version=${project.version} -------------------------------------------------------------------------------- /dinky-alert/dinky-alert-http/src/main/resources/Http.ftl: -------------------------------------------------------------------------------- 1 | ${title} 2 | ${content} -------------------------------------------------------------------------------- /docs/static/img/ads.txt: -------------------------------------------------------------------------------- 1 | google.com, pub-3727048951544938, DIRECT, f08c47fec0942fa0 2 | -------------------------------------------------------------------------------- /docs/docs/extend/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "extend", 3 | "position": 13 4 | } 5 | -------------------------------------------------------------------------------- /docs/docs/openapi/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "openapi", 3 | "position": 996 4 | } 5 | -------------------------------------------------------------------------------- /docs/docs/user_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "user_guide", 3 | "position": 10 4 | } 5 | -------------------------------------------------------------------------------- /images/v1-2/devops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/images/v1-2/devops.png -------------------------------------------------------------------------------- /images/v1-2/metrics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/images/v1-2/metrics.png -------------------------------------------------------------------------------- /images/v1/checksql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/images/v1/checksql.png -------------------------------------------------------------------------------- /images/v1/lineage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/images/v1/lineage.png -------------------------------------------------------------------------------- /images/v1/monitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/images/v1/monitor.png -------------------------------------------------------------------------------- /dinky-core/src/test/resources/META-INF/services/org.dinky.job.JobHandler: -------------------------------------------------------------------------------- 1 | org.dinky.job.JobTestHandler -------------------------------------------------------------------------------- /dinky-metadata/dinky-metadata-mysql/src/main/resources/mockito-extensions/org.mockito.plugins.MockMaker: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/docs/deploy_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "deploy_guide", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/docs/get_started/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "get_started", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/docs/user_guide/studio/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "studio", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/static/img/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/docs/static/img/home.png -------------------------------------------------------------------------------- /images/v1/datastudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/images/v1/datastudio.png -------------------------------------------------------------------------------- /images/v1/versiondiff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/images/v1/versiondiff.png -------------------------------------------------------------------------------- /dinky-web/.eslintignore: -------------------------------------------------------------------------------- 1 | /lambda/ 2 | /scripts 3 | /config 4 | .history 5 | public 6 | dist 7 | .umi 8 | mock -------------------------------------------------------------------------------- /dinky-web/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/dinky-web/public/favicon.ico -------------------------------------------------------------------------------- /docs/docs/deploy_guide/upgrade/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "upgrade", 3 | "position": 4 4 | } 5 | -------------------------------------------------------------------------------- /docs/docs/developer_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "developer_guide", 3 | "position": 12 4 | } 5 | -------------------------------------------------------------------------------- /docs/docs/practical_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "practical_guide", 3 | "position": 9 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/extend/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "扩展", 3 | "position": 13 4 | } 5 | -------------------------------------------------------------------------------- /images/v1-2/data-debug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/images/v1-2/data-debug.png -------------------------------------------------------------------------------- /images/v1-2/datastudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/images/v1-2/datastudio.png -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/META-INF/services/org.dinky.job.JobHandler: -------------------------------------------------------------------------------- 1 | org.dinky.job.handler.Job2MysqlHandler -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/json/openapi_submittask.json: -------------------------------------------------------------------------------- 1 | /* http://127.0.0.1:8888/openapi/submitTask?id=1 */ -------------------------------------------------------------------------------- /docs/docs/user_guide/auth_center/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "auth_center", 3 | "position": 4 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/extend/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "extend", 3 | "position": 13 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/extend/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "extend", 3 | "position": 13 4 | } 5 | -------------------------------------------------------------------------------- /images/main/dinkydingding.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/images/main/dinkydingding.jpg -------------------------------------------------------------------------------- /dinky-web/public/community/qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/dinky-web/public/community/qq.png -------------------------------------------------------------------------------- /docs/docs/developer_guide/contribution/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "contribution", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/docs/extend/expand_statements/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "extended_grammar", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/docs/user_guide/devops_center/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "devops_center", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/docs/user_guide/register_center/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "register_center", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /docs/docs/user_guide/register_center/alert/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "alert", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /docs/docs/user_guide/system_setting/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "system_setting", 3 | "position": 5 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/deploy_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "部署指南", 3 | "position": 6 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/get_started/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "快速开始", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/k8s_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "k8s 集成手册", 3 | "position": 4 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/platform_intro/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "平台介绍", 3 | "position": 0 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/udf_develop/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "UDF 开发", 3 | "position": 9 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/openapi/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "openapi", 3 | "position": 996 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/openapi/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "openapi", 3 | "position": 996 4 | } 5 | -------------------------------------------------------------------------------- /e2e_test/tools/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/e2e_test/tools/requirements.txt -------------------------------------------------------------------------------- /images/main/dinky_principle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/images/main/dinky_principle.png -------------------------------------------------------------------------------- /dinky-alert/dinky-alert-email/src/main/resources/META-INF/services/org.dinky.alert.Alert: -------------------------------------------------------------------------------- 1 | org.dinky.alert.email.EmailAlert -------------------------------------------------------------------------------- /dinky-alert/dinky-alert-feishu/src/main/resources/META-INF/services/org.dinky.alert.Alert: -------------------------------------------------------------------------------- 1 | org.dinky.alert.feishu.FeiShuAlert -------------------------------------------------------------------------------- /dinky-alert/dinky-alert-wechat/src/main/resources/META-INF/services/org.dinky.alert.Alert: -------------------------------------------------------------------------------- 1 | org.dinky.alert.wechat.WeChatAlert -------------------------------------------------------------------------------- /docs/docs/extend/function_expansion/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "function_extension", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/administrator_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "用户手册", 3 | "position": 10 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/connector/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": " Connector", 3 | "position": 11 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/developer_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "开发者指南", 3 | "position": 12 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/udf_develop/how_to/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "快速使用", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/deploy_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "deploy_guide", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/get_started/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "get_started", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "user_guide", 3 | "position": 10 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/studio/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "studio", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/deploy_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "deploy_guide", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/get_started/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "get_started", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "user_guide", 3 | "position": 10 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/studio/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "studio", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | -------------------------------------------------------------------------------- /dinky-sandbox/dinky-sandbox-memory/src/main/resources/META-INF/services/org.dinky.sandbox.Sandbox: -------------------------------------------------------------------------------- 1 | org.dinky.sandbox.MemorySandbox -------------------------------------------------------------------------------- /dinky-web/public/community/wechat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/dinky-web/public/community/wechat.jpg -------------------------------------------------------------------------------- /dinky-web/public/icons/user_avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/dinky-web/public/icons/user_avatar.png -------------------------------------------------------------------------------- /docs/docs/practical_guide/run_mode_practice/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "run_mode_practice", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/docs/practical_guide/scenario_practice/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "scenario_practice", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/data_integration_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "数据集成指南", 3 | "position": 9 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/extend/function_expansion/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "功能扩展", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/extend/practice_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "实践指南", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/deploy_guide/upgrade/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "upgrade", 3 | "position": 4 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/deploy_guide/upgrade/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "upgrade", 3 | "position": 4 4 | } 5 | -------------------------------------------------------------------------------- /dinky-alert/dinky-alert-dingtalk/src/main/resources/META-INF/services/org.dinky.alert.Alert: -------------------------------------------------------------------------------- 1 | org.dinky.alert.dingtalk.DingTalkAlert -------------------------------------------------------------------------------- /dinky-web/public/community/dingtalk.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/dinky-web/public/community/dingtalk.jpg -------------------------------------------------------------------------------- /docs/blog/blog_img/head_img/header1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/docs/blog/blog_img/head_img/header1.png -------------------------------------------------------------------------------- /docs/blog/blog_img/head_img/header2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/docs/blog/blog_img/head_img/header2.png -------------------------------------------------------------------------------- /docs/blog/blog_img/head_img/header3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/docs/blog/blog_img/head_img/header3.gif -------------------------------------------------------------------------------- /docs/docs/practical_guide/Integration_practice/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Integration_practice", 3 | "position": 4 4 | } 5 | -------------------------------------------------------------------------------- /docs/docs/practical_guide/cdcsource_practice/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "cdcsource_practice", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/docs/user_guide/studio/catalog.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | position: 5 4 | id: catalog 5 | title: 内置Catalog功能 6 | --- 7 | -------------------------------------------------------------------------------- /docs/docs/user_guide/system_setting/global_settings/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "global_settings", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/administrator_guide/studio/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "数据开发", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/developer_guide/contribution/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "参与贡献", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/get_started/quick_start/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Quick Start", 3 | "position": 0 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/developer_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "developer_guide", 3 | "position": 12 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "practical_guide", 3 | "position": 9 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/auth_center/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "auth_center", 3 | "position": 4 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/developer_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "developer_guide", 3 | "position": 12 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "practical_guide", 3 | "position": 9 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/auth_center/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "auth_center", 3 | "position": 4 4 | } 5 | -------------------------------------------------------------------------------- /dinky-web/public/imgs/login_background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/dinky-web/public/imgs/login_background.jpg -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/administrator_guide/devops_center/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "运维中心", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/administrator_guide/register_center/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "注册中心", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/administrator_guide/system_setting/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "系统设置", 3 | "position": 5 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/devops_center/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "devops_center", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/register_center/alert/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "alert", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/system_setting/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "system_setting", 3 | "position": 5 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/devops_center/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "devops_center", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/register_center/alert/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "alert", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/system_setting/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "system_setting", 3 | "position": 5 4 | } 5 | -------------------------------------------------------------------------------- /dinky-metadata/dinky-metadata-doris/src/main/resources/META-INF/services/org.dinky.metadata.driver.Driver: -------------------------------------------------------------------------------- 1 | org.dinky.metadata.driver.DorisDriver -------------------------------------------------------------------------------- /dinky-metadata/dinky-metadata-hive/src/main/resources/META-INF/services/org.dinky.metadata.driver.Driver: -------------------------------------------------------------------------------- 1 | org.dinky.metadata.driver.HiveDriver -------------------------------------------------------------------------------- /dinky-metadata/dinky-metadata-mysql/src/main/resources/META-INF/services/org.dinky.metadata.driver.Driver: -------------------------------------------------------------------------------- 1 | org.dinky.metadata.driver.MySqlDriver -------------------------------------------------------------------------------- /docs/blog/blog_img/kudu_extend/kudu_table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/docs/blog/blog_img/kudu_extend/kudu_table.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/administrator_guide/data_integration/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "数据集成", 3 | "position": 4 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/flink_sql_development_guide/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Flink SQL 开发指南", 3 | "position": 8 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/developer_guide/contribution/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "contribution", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/extend/expand_statements/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "extended_grammar", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/extend/function_expansion/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "function_extension", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/register_center/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "register_center", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/developer_guide/contribution/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "contribution", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/extend/expand_statements/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "extended_grammar", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/extend/function_expansion/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "function_extension", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/register_center/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "register_center", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /dinky-metadata/dinky-metadata-oracle/src/main/resources/META-INF/services/org.dinky.metadata.driver.Driver: -------------------------------------------------------------------------------- 1 | org.dinky.metadata.driver.OracleDriver -------------------------------------------------------------------------------- /dinky-metadata/dinky-metadata-paimon/src/main/resources/META-INF/services/org.dinky.metadata.driver.Driver: -------------------------------------------------------------------------------- 1 | org.dinky.metadata.driver.PaimonDriver -------------------------------------------------------------------------------- /dinky-metadata/dinky-metadata-phoenix/src/main/resources/META-INF/services/org.dinky.metadata.driver.Driver: -------------------------------------------------------------------------------- 1 | org.dinky.metadata.driver.PhoenixDriver -------------------------------------------------------------------------------- /dinky-metadata/dinky-metadata-presto/src/main/resources/META-INF/services/org.dinky.metadata.driver.Driver: -------------------------------------------------------------------------------- 1 | org.dinky.metadata.driver.PrestoDriver -------------------------------------------------------------------------------- /docs/blog/blog_img/kudu_extend/click_running.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/docs/blog/blog_img/kudu_extend/click_running.png -------------------------------------------------------------------------------- /docs/blog/blog_img/kudu_extend/tag_version.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/docs/blog/blog_img/kudu_extend/tag_version.png -------------------------------------------------------------------------------- /docs/docs/user_guide/studio/jdbc_task_devlop.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | position: 4 4 | id: jdbc_task_devlop 5 | title: Jdbc作业 6 | --- 7 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/flink_sql_development_guide/ddl_statement/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "DDL 语句", 3 | "position": 5 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/flink_sql_development_guide/dml_statements/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "DML 语句", 3 | "position": 6 4 | } 5 | -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/json/openapi_getjobdata.json: -------------------------------------------------------------------------------- 1 | /* http://127.0.0.1:8888/openapi/getJobData?jobId=195352b0a4518e16699983a13205f059 */ 2 | -------------------------------------------------------------------------------- /dinky-metadata/dinky-metadata-clickhouse/src/main/resources/META-INF/services/org.dinky.metadata.driver.Driver: -------------------------------------------------------------------------------- 1 | org.dinky.metadata.driver.ClickHouseDriver -------------------------------------------------------------------------------- /dinky-metadata/dinky-metadata-postgresql/src/main/resources/META-INF/services/org.dinky.metadata.driver.Driver: -------------------------------------------------------------------------------- 1 | org.dinky.metadata.driver.PostgreSqlDriver -------------------------------------------------------------------------------- /dinky-metadata/dinky-metadata-sqlserver/src/main/resources/META-INF/services/org.dinky.metadata.driver.Driver: -------------------------------------------------------------------------------- 1 | org.dinky.metadata.driver.SqlServerDriver -------------------------------------------------------------------------------- /dinky-metadata/dinky-metadata-starrocks/src/main/resources/META-INF/services/org.dinky.metadata.driver.Driver: -------------------------------------------------------------------------------- 1 | org.dinky.metadata.driver.StarRocksDriver -------------------------------------------------------------------------------- /dinky-web/src/pages/DataStudio/components/CusPanelResizeHandle/index.less: -------------------------------------------------------------------------------- 1 | .panel-resize-handle { 2 | border: 1px solid var(--second-color); 3 | } 4 | -------------------------------------------------------------------------------- /docs/blog/blog_img/kudu_extend/sqldemo_submit1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/docs/blog/blog_img/kudu_extend/sqldemo_submit1.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/administrator_guide/studio/development_control/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "基本介绍", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/cdcsource_practice/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "cdcsource_practice", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/run_mode_practice/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "run_mode_practice", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/scenario_practice/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "scenario_practice", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/cdcsource_practice/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "cdcsource_practice", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/run_mode_practice/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "run_mode_practice", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/scenario_practice/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "scenario_practice", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /docs/blog/blog_img/kudu_extend/register_cluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/docs/blog/blog_img/kudu_extend/register_cluster.png -------------------------------------------------------------------------------- /docs/blog/blog_img/kudu_extend/update_kuducatalog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/docs/blog/blog_img/kudu_extend/update_kuducatalog.png -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/flink_sql_development_guide/expand_statements/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "语法增强(扩展语法)", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/Integration_practice/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Integration_practice", 3 | "position": 4 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/studio/catalog.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | position: 5 4 | id: catalog 5 | title: 内置Catalog功能 6 | --- 7 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/system_setting/global_settings/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "global_settings", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/Integration_practice/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Integration_practice", 3 | "position": 4 4 | } 5 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/studio/catalog.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | position: 5 4 | id: catalog 5 | title: 内置Catalog功能 6 | --- 7 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/system_setting/global_settings/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "global_settings", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /docs/blog/blog_img/kudu_extend/show_kudu_tabledata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DataLinkDC/dinky/HEAD/docs/blog/blog_img/kudu_extend/show_kudu_tabledata.png -------------------------------------------------------------------------------- /docs/docs/user_guide/studio/flink_env_task_devlop.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | position: 4 4 | id: flink_env_task_devlop 5 | title: FlinkSqlEnv作业 6 | --- 7 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/extend/practice_guide/iceberg.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 10 3 | id: iceberg 4 | title: Iceberg 5 | --- 6 | 7 | 8 | 9 | ## 敬请期待 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/studio/jdbc_task_devlop.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | position: 4 4 | id: jdbc_task_devlop 5 | title: Jdbc作业 6 | --- 7 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/studio/jdbc_task_devlop.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | position: 4 4 | id: jdbc_task_devlop 5 | title: Jdbc作业 6 | --- 7 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/versioned_sidebars/version-0.7-sidebars.json: -------------------------------------------------------------------------------- 1 | { 2 | "tutorialSidebar": [ 3 | { 4 | "type": "autogenerated", 5 | "dirName": "." 6 | } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /docs/versioned_sidebars/version-1.0-sidebars.json: -------------------------------------------------------------------------------- 1 | { 2 | "tutorialSidebar": [ 3 | { 4 | "type": "autogenerated", 5 | "dirName": "." 6 | } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /docs/versioned_sidebars/version-1.1-sidebars.json: -------------------------------------------------------------------------------- 1 | { 2 | "tutorialSidebar": [ 3 | { 4 | "type": "autogenerated", 5 | "dirName": "." 6 | } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/META-INF/services/org.dinky.daemon.task.DaemonTask: -------------------------------------------------------------------------------- 1 | org.dinky.job.FlinkJobTask 2 | org.dinky.job.SystemMetricsTask 3 | org.dinky.job.ClearJobHistoryTask -------------------------------------------------------------------------------- /dinky-cdc/dinky-cdc-plus/src/main/resources/META-INF/services/org.dinky.cdc.SinkBuilder: -------------------------------------------------------------------------------- 1 | org.dinky.cdc.doris.DorisSinkBuilder 2 | org.dinky.cdc.doris.DorisSchemaEvolutionSinkBuilder -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/extend/practice_guide/clickhouse.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 7 3 | id: clickhouse 4 | title: Clickhouse 5 | --- 6 | 7 | 8 | 9 | 10 | 敬请期待 -------------------------------------------------------------------------------- /dinky-connectors/dinky-connector-embedded/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | org.dinky.connector.flink.sink.sandbox.SandboxDynamicTableSinkFactory -------------------------------------------------------------------------------- /docs/blog/authors.yml: -------------------------------------------------------------------------------- 1 | aiwenmo: 2 | name: aiwenmo 3 | title: Dinky 项目发起人 4 | url: https://github.com/DataLinkDC/dlink 5 | image_url: http://pic.dinky.org.cn/dinky/docs/dinky_logo.svg -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/studio/flink_env_task_devlop.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | position: 4 4 | id: flink_env_task_devlop 5 | title: FlinkSqlEnv作业 6 | --- 7 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/studio/flink_env_task_devlop.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | position: 4 4 | id: flink_env_task_devlop 5 | title: FlinkSqlEnv作业 6 | --- 7 | -------------------------------------------------------------------------------- /docs/i18n/en/docusaurus-plugin-content-docs-download/current.json: -------------------------------------------------------------------------------- 1 | { 2 | "version.label": { 3 | "message": "1.0", 4 | "description": "The label for version current" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /docs/i18n/zh/docusaurus-plugin-content-docs-download/current.json: -------------------------------------------------------------------------------- 1 | { 2 | "version.label": { 3 | "message": "1.0", 4 | "description": "The label for version current" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /e2e_test/docker-compose-env/mysql/conf/conf.d/my.cnf: -------------------------------------------------------------------------------- 1 | [mysqld] 2 | log-bin=/var/lib/mysql/mysql-bin 3 | server-id=123654 4 | expire_logs_days = 30 5 | default-time-zone = 'Asia/Shanghai' 6 | -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/db/migration/h2/V20240827.1.2.0__release.sql: -------------------------------------------------------------------------------- 1 | 2 | -- H2 does not need to delete some indexes, there are no indexes, just use the empty file placeholder version to upgrade -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/extend/practice_guide/dataspherestudio.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 13 3 | id: dataspherestudio 4 | title: DataSphere Studio 5 | --- 6 | 7 | 8 | 9 | 10 | ## 敬请期待 -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/extend/practice_guide/dolphinscheduler.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 12 3 | id: dolphinscheduler 4 | title: Dolphinscheduler 5 | --- 6 | 7 | 8 | 9 | 10 | ## 敬请期待 -------------------------------------------------------------------------------- /dinky-cdc/dinky-cdc-core/src/main/resources/META-INF/services/org.dinky.cdc.SinkBuilder: -------------------------------------------------------------------------------- 1 | org.dinky.cdc.print.PrintSinkBuilder 2 | org.dinky.cdc.kafka.KafkaSinkBuilder 3 | org.dinky.cdc.kafka.KafkaSinkJsonBuilder -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/templates/executeJar.sql: -------------------------------------------------------------------------------- 1 | EXECUTE JAR WITH ( 2 | 'uri'='${uri}', 3 | 'main-class'='${mainClass}', 4 | 'args'='${args}', 5 | 'allowNonRestoredState'='${allowNonRestoredState}' 6 | ); 7 | -------------------------------------------------------------------------------- /dinky-core/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | org.dinky.connector.printnet.sink.PrintNetDynamicTableSinkFactory 2 | org.dinky.connector.mock.sink.MockDynamicTableSinkFactory 3 | -------------------------------------------------------------------------------- /docs/docs/practical_guide/scenario_practice/mysqlcdc2hudi.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | id: mysqlcdc2hudi 4 | title: MySQLCDC 同步到 Hudi 5 | --- 6 | 7 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/extend/practice_guide/udf.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 11 3 | id: udf 4 | title: UDF 5 | --- 6 | 7 | 8 | 9 | ## 扩展 UDF 10 | 11 | 将 Flink 集群上已扩展好的 UDF 直接放入 Dlink 的 lib 或者 plugins 下,然后重启即可。定制 UDF 过程同 Flink 官方一样。 12 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/plans.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 15 3 | id: plans 4 | title: 近期计划 5 | --- 6 | * [ ] 多租户及命名空间 7 | * [ ] 统一元数据管理 8 | * [ ] 全局血缘与影响分析 9 | * [X] Flink 元数据持久化 10 | * [ ] 多版本 Flink-Client Server 11 | * [X] 整库千表同步 12 | -------------------------------------------------------------------------------- /docs/docs/practical_guide/scenario_practice/mysqlcdc2doris.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | id: mysqlcdc2doris 4 | title: MySQLCDC 同步到 Doris 5 | --- 6 | 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/docs/practical_guide/scenario_practice/mysqlcdc2paimon.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | id: mysqlcdc2paimon 4 | title: MySQLCDC 同步到 Paimon 5 | --- 6 | 7 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /dinky-web/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "jsx": "react-jsx", 4 | "emitDecoratorMetadata": true, 5 | "experimentalDecorators": true, 6 | "baseUrl": ".", 7 | "paths": { 8 | "@/*": ["./src/*"] 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /docs/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // This file is not used in compilation. It is here just for a nice editor experience. 3 | "extends": "@tsconfig/docusaurus/tsconfig.json", 4 | "compilerOptions": { 5 | "baseUrl": ".", 6 | "resolveJsonModule":true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /docs/docs/practical_guide/scenario_practice/mysqlcdc2starrocks.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | id: mysqlcdc2starrocks 4 | title: MySQLCDC 同步到 StarRocks 5 | --- 6 | 7 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/extend/practice_guide/flinkcdc.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | id: flinkcdc 4 | title: Flink CDC 5 | --- 6 | 7 | 8 | 9 | 10 | ## 扩展 Flink-CDC 11 | 12 | 把 `flink-sql-connector-mysql-cdc-2.1.0.jar` 等 CDC 依赖加入到 Dlink 的 `plugins` 下即可。 -------------------------------------------------------------------------------- /check_package_size.sh: -------------------------------------------------------------------------------- 1 | cd build 2 | 3 | total_text=$(ls -ls | grep total) 4 | total_size=${total_text/'total '/''} 5 | echo `ls -lh` 6 | 7 | if [[ ${total_size} -gt 256000 ]]; then 8 | echo "尺寸为:$total_size,大于250mb,编译失败" 9 | exit 1 10 | else 11 | exit 0 12 | fi 13 | -------------------------------------------------------------------------------- /docs/docs/practical_guide/run_mode_practice/local_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | position: 1 4 | id: local_model_submit 5 | title: LOCAL 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/docs/practical_guide/run_mode_practice/projob_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | position: 4 4 | id: projob_model_submit 5 | title: ProJob 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/scenario_practice/mysqlcdc2hudi.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | id: mysqlcdc2hudi 4 | title: MySQLCDC 同步到 Hudi 5 | --- 6 | 7 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/scenario_practice/mysqlcdc2hudi.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | id: mysqlcdc2hudi 4 | title: MySQLCDC 同步到 Hudi 5 | --- 6 | 7 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/scenario_practice/mysqlcdc2paimon.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | id: mysqlcdc2paimon 4 | title: MySQLCDC 同步到 Paimon 5 | --- 6 | 7 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/scenario_practice/mysqlcdc2paimon.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | id: mysqlcdc2paimon 4 | title: MySQLCDC 同步到 Paimon 5 | --- 6 | 7 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/scenario_practice/mysqlcdc2doris.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | id: mysqlcdc2doris 4 | title: MySQLCDC 同步到 Doris 5 | --- 6 | 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/scenario_practice/mysqlcdc2doris.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | id: mysqlcdc2doris 4 | title: MySQLCDC 同步到 Doris 5 | --- 6 | 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /e2e_test/tools/dinky_task/udf/JAVA_UDF.java: -------------------------------------------------------------------------------- 1 | package com.javaudf; 2 | 3 | import org.apache.flink.table.functions.ScalarFunction; 4 | 5 | public class demo extends ScalarFunction { 6 | public String eval(String s) { 7 | return "this is java udf "+s; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /docs/docs/practical_guide/run_mode_practice/k8s_native_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 7 3 | position: 7 4 | id: k8s_native_model_submit 5 | title: K8s Native 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/docs/practical_guide/run_mode_practice/k8s_session_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 6 3 | position: 6 4 | id: k8s_session_model_submit 5 | title: K8s Session 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/docs/practical_guide/run_mode_practice/standalone_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | position: 2 4 | id: standalone_model_submit 5 | title: Standalone 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/docs/practical_guide/run_mode_practice/yarnsession_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | position: 3 4 | id: yarnsession_model_submit 5 | title: YarnSession 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/scenario_practice/mysqlcdc2starrocks.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | id: mysqlcdc2starrocks 4 | title: MySQLCDC 同步到 StarRocks 5 | --- 6 | 7 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/scenario_practice/mysqlcdc2starrocks.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | id: mysqlcdc2starrocks 4 | title: MySQLCDC 同步到 StarRocks 5 | --- 6 | 7 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/docs/practical_guide/run_mode_practice/k8s_operater_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 8 3 | position: 8 4 | id: k8s_operater_model_submit 5 | title: K8s Operator 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/extend/function_expansion/connector.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | id: connector 4 | title: 扩展连接器 5 | --- 6 | 7 | 8 | 9 | 10 | ## 扩展 Connector 11 | 12 | 将 Flink 集群上已扩展好的 Connector 直接放入 Dlink 的 lib 或者 plugins 下,然后重启即可。定制 Connector 过程同 Flink 官方一样。 13 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/run_mode_practice/local_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | position: 1 4 | id: local_model_submit 5 | title: LOCAL 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/run_mode_practice/local_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | position: 1 4 | id: local_model_submit 5 | title: LOCAL 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/json/openapi_savepointtask.json: -------------------------------------------------------------------------------- 1 | /* http://127.0.0.1:8888/openapi/savepointTask */ 2 | { 3 | /* required-start */ 4 | "taskId":"1", 5 | /* required-end */ 6 | /* custom-start */ 7 | "type":"trigger" // trigger | stop | cancel | canceljob 8 | /* custom-start */ 9 | } -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/run_mode_practice/projob_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | position: 4 4 | id: projob_model_submit 5 | title: ProJob 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/run_mode_practice/projob_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | position: 4 4 | id: projob_model_submit 5 | title: ProJob 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /e2e_test/docker-compose-env/doris/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | networks: 3 | dinky_net: 4 | external: true 5 | services: 6 | doris: 7 | image: yagagagaga/doris-standalone:2.1.7 8 | hostname: doris 9 | container_name: doris 10 | networks: 11 | - dinky_net 12 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/run_mode_practice/k8s_native_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 7 3 | position: 7 4 | id: k8s_native_model_submit 5 | title: K8s Native 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/run_mode_practice/standalone_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | position: 2 4 | id: standalone_model_submit 5 | title: Standalone 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/run_mode_practice/k8s_native_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 7 3 | position: 7 4 | id: k8s_native_model_submit 5 | title: K8s Native 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/run_mode_practice/standalone_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | position: 2 4 | id: standalone_model_submit 5 | title: Standalone 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/run_mode_practice/k8s_operater_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 8 3 | position: 8 4 | id: k8s_operater_model_submit 5 | title: K8s Operator 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/run_mode_practice/k8s_session_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 6 3 | position: 6 4 | id: k8s_session_model_submit 5 | title: K8s Session 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/run_mode_practice/yarnsession_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | position: 3 4 | id: yarnsession_model_submit 5 | title: YarnSession 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/run_mode_practice/k8s_operater_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 8 3 | position: 8 4 | id: k8s_operater_model_submit 5 | title: K8s Operator 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/run_mode_practice/k8s_session_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 6 3 | position: 6 4 | id: k8s_session_model_submit 5 | title: K8s Session 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/run_mode_practice/yarnsession_model_submit.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | position: 3 4 | id: yarnsession_model_submit 5 | title: YarnSession 模式提交 6 | --- 7 | 8 | 快马加鞭赶来中, 如您对该集成场景已有实践, 欢迎分享您的经验, 欢迎贡献您的文档, 请参考[贡献指南](../../developer_guide/contribution/how_contribute)。 -------------------------------------------------------------------------------- /dinky-scheduler/src/main/resources/json/taskRelation.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "", 4 | "preTaskCode": 0, 5 | "preTaskVersion": 0, 6 | "postTaskCode": {code}, 7 | "postTaskVersion": 0, 8 | "conditionType": "NONE", 9 | "conditionParams": {} 10 | } 11 | ] 12 | -------------------------------------------------------------------------------- /e2e_test/docker-compose-env/FlinkDockerfile: -------------------------------------------------------------------------------- 1 | 2 | ARG FLINK_VERSION 3 | 4 | FROM flink:${FLINK_VERSION}-scala_2.12-java8 as flink-base 5 | RUN rm -f /opt/flink/lib/flink-table-planner-loader*.jar && cp /opt/flink/opt/flink-python*.jar /opt/flink/lib/ && cp /opt/flink/opt/flink-table-planner*.jar /opt/flink/lib/ 2>/dev/null || : 6 | -------------------------------------------------------------------------------- /dinky-web/.prettierignore: -------------------------------------------------------------------------------- 1 | **/*.svg 2 | .umi 3 | .umi-production 4 | /dist 5 | .dockerignore 6 | .DS_Store 7 | .eslintignore 8 | *.png 9 | *.toml 10 | docker 11 | .editorconfig 12 | Dockerfile* 13 | .gitignore 14 | .prettierignore 15 | LICENSE 16 | .eslintcache 17 | *.lock 18 | yarn-error.log 19 | .history 20 | /build 21 | /public 22 | -------------------------------------------------------------------------------- /dinky-web/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | 15 | [Makefile] 16 | indent_style = tab 17 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/platform_intro/roadmap.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | sidebar_position : 3 4 | id: roadmap 5 | title: 未来计划 6 | ----------- 7 | 8 | ### 实践分享 9 | 10 | Dinky 将投入更多精力围绕业界主流的存储架构、平台等进行应用实践分享。 11 | 12 | Dinky 通过用户在生产上对接各种生态的实践进行总结和整理,最终在公众号、官网中分享各实践主题下的用户经验与操作说明,如 FlinkCDC、Hive、ClickHouse、Doris、Hudi、Iceberg 等基于 Dinky 快速落地的经验。 13 | 14 | -------------------------------------------------------------------------------- /e2e_test/tools/dinky_task/udf/SCALA_UDF.scala: -------------------------------------------------------------------------------- 1 | package com.scala.udf; 2 | 3 | import org.apache.flink.table.api._ 4 | import org.apache.flink.table.functions.ScalarFunction 5 | 6 | // 定义可参数化的函数逻辑 7 | class demo extends ScalarFunction { 8 | def eval(s: String, begin: Integer, end: Integer): String = { 9 | "this is scala"+s 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /dinky-alert/dinky-alert-wechat/src/main/resources/WeChat-wechat.ftl: -------------------------------------------------------------------------------- 1 | { 2 | "msgtype": "markdown", 3 | "markdown": {"content": "## Dinky Alert:${title}\n> Your task there is an abnormality, Please troubleshoot <#list atUsers as key>${key}\n${content?json_string}\n---\n[Dinky Team](https://github.com/DataLinkDC/dinky)"} 4 | } -------------------------------------------------------------------------------- /e2e_test/tools/dinky_task/udf/PYTHON_UDF.py: -------------------------------------------------------------------------------- 1 | from pyflink.table import ScalarFunction, DataTypes 2 | from pyflink.table.udf import udf 3 | 4 | 5 | class com(ScalarFunction): 6 | def __init__(self): 7 | pass 8 | 9 | def eval(self, variable): 10 | return str(variable) 11 | 12 | 13 | python = udf(com(), result_type=DataTypes.STRING()) 14 | -------------------------------------------------------------------------------- /deploy/docker/DockerfileWeb: -------------------------------------------------------------------------------- 1 | FROM nginx:1.21.6 2 | COPY ./docker/web/nginx.conf /etc/nginx/nginx.conf 3 | COPY ./docker/web/default.conf /etc/nginx/conf.d/default.conf 4 | COPY ./dinky-web/dist/ /usr/share/nginx/html/ 5 | 6 | # repalge nginx conf 'API_ORIGIN' and run 7 | ENTRYPOINT sed -i "s/API_ORIGIN/$API_ORIGIN/g" /etc/nginx/conf.d/default.conf && nginx -g "daemon off;" 8 | -------------------------------------------------------------------------------- /e2e_test/docker-compose-env/mysql/conf/conf.d/my.conf: -------------------------------------------------------------------------------- 1 | [client] 2 | default-character-set=utf8 3 | [mysql] 4 | default-character-set=utf8 5 | [mysqld] 6 | init_connect='SET collation_connection = utf8_unicode_ci' 7 | init_connect='SET NAMES utf8' 8 | character-set-server=utf8 9 | collation-server=utf8_unicode_ci 10 | skip-character-set-client-handshake 11 | skip-name-resolve 12 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Declare files that will always have LF line endings on checkout. 2 | *.java text eol=lf 3 | *.yml text eol=lf 4 | *.yaml text eol=lf 5 | *.xml text eol=lf 6 | *.sh eol=lf 7 | *.py eol=lf 8 | *.md text eol=lf 9 | *.mdx text eol=lf 10 | *.ts text eol=lf 11 | *.tsx text eol=lf 12 | *.js text eol=lf 13 | *.json text eol=lf 14 | *.less text eol=lf 15 | *.txt text eol=lf 16 | *.jpg -text -------------------------------------------------------------------------------- /dinky-gateway/src/main/resources/META-INF/services/org.dinky.gateway.Gateway: -------------------------------------------------------------------------------- 1 | org.dinky.gateway.yarn.YarnApplicationGateway 2 | org.dinky.gateway.yarn.YarnPerJobGateway 3 | org.dinky.gateway.yarn.YarnSessionGateway 4 | org.dinky.gateway.kubernetes.KubernetesApplicationGateway 5 | org.dinky.gateway.kubernetes.KubernetesSessionGateway 6 | org.dinky.gateway.kubernetes.operator.KubernetesApplicationOperatorGateway -------------------------------------------------------------------------------- /docs/i18n/zh/docusaurus-plugin-content-blog/options.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": { 3 | "message": "博客", 4 | "description": "The title for the blog used in SEO" 5 | }, 6 | "description": { 7 | "message": "博客", 8 | "description": "The description for the blog used in SEO" 9 | }, 10 | "sidebar.title": { 11 | "message": "博客列表", 12 | "description": "The label for the left sidebar" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/administrator_guide/devops_center/job_details.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | id: job_details 4 | title: 作业详情 5 | --- 6 | 7 | 1.在运维中心,单击**点击目标作业名** 8 | 9 | 2.单击**作业总览**,进入作业详情页面,可以看到各个模块的详情信息。 10 | 11 | ![detail](http://pic.dinky.org.cn/dinky/docs/administrator_guide/devops_center/job_details/detail.png) 12 | 13 | :::info 信息 14 | 15 | 如果您要使用并查看运维中心的更多功能,请详见操作指南 16 | 17 | ::: 18 | -------------------------------------------------------------------------------- /dinky-client/dinky-client-base/src/main/resources/META-INF/services/org.apache.flink.table.planner.parse.ExtendedParseStrategy: -------------------------------------------------------------------------------- 1 | org.dinky.trans.parse.AddJarSqlParseStrategy 2 | org.dinky.trans.parse.AddFileSqlParseStrategy 3 | org.dinky.trans.parse.CreateAggTableSelectSqlParseStrategy 4 | org.dinky.trans.parse.CreateTemporalTableFunctionParseStrategy 5 | org.dinky.trans.parse.ExecuteJarParseStrategy 6 | org.dinky.trans.parse.SetSqlParseStrategy -------------------------------------------------------------------------------- /docs/i18n/en/docusaurus-plugin-content-blog/options.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": { 3 | "message": "Blog", 4 | "description": "The title for the blog used in SEO" 5 | }, 6 | "description": { 7 | "message": "Blog", 8 | "description": "The description for the blog used in SEO" 9 | }, 10 | "sidebar.title": { 11 | "message": "Recent posts", 12 | "description": "The label for the left sidebar" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | ______ _ __ 2 | |_ _ `. (_) [ | _ 3 | | | `. \ __ _ .--. | | / ] _ __ 4 | | | | |[ | [ `.-. | | '' < [ \ [ ] 5 | _| |_.' / | | | | | | | |`\ \ \ '/ / 6 | |______.' [___][___||__][__| \_][\_: / 7 | \__.' 8 | 9 | 10 | Version: @revision@ 11 | Github: https://github.com/DataLinkDC/dinky 12 | 公众号: Dinky 开源 13 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/flink_sql_development_guide/expand_statements/add_jar_statement.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | id: add_jar_statement 4 | title: ADD JAR 5 | --- 6 | 7 | ADD JAR 语句用于将用户 jar 添加到 classpath。可作用与 `session` 和 `application` 模式 。 8 | ```sql 9 | ADD JAR '.jar' 10 | ``` 11 | 使用语法和 `sql-client` 的案例一致 12 | 13 | ## 实战范围 14 | 当连接器和第三方依赖过多时,经常容易导致 jar依赖冲突; 15 | 16 | add jar可以选择性的识别添加到服务器,做到环境隔离 17 | -------------------------------------------------------------------------------- /deploy/kubernetes/helm/dinky/templates/secret-mysql-database.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.mysql.enabled -}} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | name: {{ include "dinky.name" . }}-mysql 6 | data: 7 | MYSQL_ADDR: {{ .Values.mysql.url | b64enc | quote }} 8 | MYSQL_USERNAME: {{ .Values.mysql.auth.username | b64enc | quote }} 9 | MYSQL_PASSWORD: {{ .Values.mysql.auth.password | b64enc | quote }} 10 | type: Opaque 11 | {{- end }} -------------------------------------------------------------------------------- /docs/docs/comminicate.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 998 3 | id: comminicate 4 | title: 交流与贡献 5 | --- 6 | 7 | 欢迎您加入社区交流分享,也欢迎您为社区贡献自己的力量。 8 | 9 | 在此非常感谢大家的支持~ 10 | 11 | QQ社区群:**543709668**,申请备注 “ Dinky ”,不写不批 12 | 13 | 微信社区群(推荐):添加微信号 wenmo_ai 邀请进群,申请备注 “ Dinky + 企业名 + 职位”,不写不批 14 | 15 | **公众号(最新消息获取建议关注):** 16 | - **微信搜索公众号:** `Dinky开源` 17 | - **扫码关注公众号:** 扫下图二维码,关注公众号 18 | 19 | ![Dinky开源](http://pic.dinky.org.cn/dinky/docs/zh-CN/comminicate/datalink.jpg) -------------------------------------------------------------------------------- /e2e_test/docker-compose-env/mysql/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | networks: 3 | dinky_net: 4 | external: true 5 | services: 6 | mysql: 7 | container_name: mysql 8 | restart: always 9 | image: mysql:5.7 10 | volumes: 11 | - ./conf:/etc/mysql 12 | - ./conf/mysql.conf.d/:/etc/mysql/mysql.conf.d 13 | environment: 14 | - MYSQL_ROOT_PASSWORD=dinky 15 | - MYSQL_DATABASE=dinky 16 | networks: 17 | - dinky_net 18 | -------------------------------------------------------------------------------- /deploy/kubernetes/helm/dinky/templates/secret-postgres-database.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.postgresql.enabled -}} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | name: {{ include "dinky.name" . }}-postgres 6 | data: 7 | POSTGRES_ADDR: {{ .Values.postgresql.url | b64enc | quote }} 8 | POSTGRES_USER: {{ .Values.postgresql.auth.username | b64enc | quote }} 9 | POSTGRES_PASSWORD: {{ .Values.postgresql.auth.password | b64enc | quote }} 10 | type: Opaque 11 | {{- end }} -------------------------------------------------------------------------------- /docs/docs/roadmap.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position : 995 3 | id: roadmap 4 | title: 未来计划 5 | ----------- 6 | 7 | - [ ] 连接线展示其转换逻辑关系 8 | - [ ] 血缘关系图的导出 9 | - [ ] 血缘关系图的搜索 10 | - [ ] 全局血缘影响分析 11 | - [ ] 一些 tips 转提示文案 12 | - [ ] SQLlite/H2 替换 Paimon 13 | - [ ] 完善文档 14 | - [ ] 修复一些前端组件关闭问题 15 | - [ ] 资源中心类型为 HDFS 时支持 Kerberos 认证 16 | - [ ] Git 项目管理体验提升 17 | - [ ] 执行历史预览数据支持 18 | - [ ] 作业导入导出 19 | - [ ] Flyway 支持以及一些表结构字段信息的变更 20 | - [ ] 责任人机制 21 | - [ ] 单点登录 22 | - [ ] 新增 Kyuubi 数据源 -------------------------------------------------------------------------------- /.idea/sqldialects.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /dinky-web/src/pages/DataStudio/css/imgs/close-dark.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /dinky-web/src/pages/DataStudio/css/imgs/close-light.svg: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/comminicate.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 16 3 | id: comminicate 4 | title: 交流与贡献 5 | --- 6 | 7 | 欢迎您加入社区交流分享,也欢迎您为社区贡献自己的力量。 8 | 9 | 在此非常感谢大家的支持~ 10 | 11 | QQ社区群:**543709668**,申请备注 “ Dinky ”,不写不批 12 | 13 | 微信社区群(推荐):添加微信号 wenmo_ai 邀请进群,申请备注 “ Dinky + 企业名 + 职位”,不写不批 14 | 15 | **公众号(最新消息获取建议关注):** 16 | - **微信搜索公众号:** `Dinky开源` 17 | - **扫码关注公众号:** 扫下图二维码,关注公众号 18 | 19 | ![Dinky开源](http://pic.dinky.org.cn/dinky/docs/zh-CN/comminicate/datalink.jpg) -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/comminicate.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 998 3 | id: comminicate 4 | title: 交流与贡献 5 | --- 6 | 7 | 欢迎您加入社区交流分享,也欢迎您为社区贡献自己的力量。 8 | 9 | 在此非常感谢大家的支持~ 10 | 11 | QQ社区群:**543709668**,申请备注 “ Dinky ”,不写不批 12 | 13 | 微信社区群(推荐):添加微信号 wenmo_ai 邀请进群,申请备注 “ Dinky + 企业名 + 职位”,不写不批 14 | 15 | **公众号(最新消息获取建议关注):** 16 | - **微信搜索公众号:** `Dinky开源` 17 | - **扫码关注公众号:** 扫下图二维码,关注公众号 18 | 19 | ![Dinky开源](http://pic.dinky.org.cn/dinky/docs/zh-CN/comminicate/datalink.jpg) -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/comminicate.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 998 3 | id: comminicate 4 | title: 交流与贡献 5 | --- 6 | 7 | 欢迎您加入社区交流分享,也欢迎您为社区贡献自己的力量。 8 | 9 | 在此非常感谢大家的支持~ 10 | 11 | QQ社区群:**543709668**,申请备注 “ Dinky ”,不写不批 12 | 13 | 微信社区群(推荐):添加微信号 wenmo_ai 邀请进群,申请备注 “ Dinky + 企业名 + 职位”,不写不批 14 | 15 | **公众号(最新消息获取建议关注):** 16 | - **微信搜索公众号:** `Dinky开源` 17 | - **扫码关注公众号:** 扫下图二维码,关注公众号 18 | 19 | ![Dinky开源](http://pic.dinky.org.cn/dinky/docs/zh-CN/comminicate/datalink.jpg) -------------------------------------------------------------------------------- /deploy/kubernetes/helm/dinky/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /docs/docs/developer_guide/contribution/auto_sync.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 105 3 | position: 105 4 | id: auto_sync 5 | title: 自动同步主仓库 6 | --- 7 | 8 | 9 | 10 | :::info 简介 11 | 自动同步主仓库 (upstream) 的代码到你的仓库 (origin),保持你的仓库代码与主仓库代码同步。 12 | ::: 13 | 14 | ## 步骤 15 | 16 | 1. Fork 主仓库到你的 GitHub 账号下. 17 | 2. 点击 Fork 之后的仓库, 点击 `Actions` 标签. 18 | 3. 会提示一些介绍, 点击 `I understand my workflows, go ahead and enable them` 按钮. 19 | 4. 完成之后,会在每天的 00:00:00 执行同步操作. 后续该 workflow 文件不改变的情况下,会一直按照定时配置自动执行同步操作. 20 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/roadmap.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position : 995 3 | id: roadmap 4 | title: 未来计划 5 | ----------- 6 | 7 | - [ ] 连接线展示其转换逻辑关系 8 | - [ ] 血缘关系图的导出 9 | - [ ] 血缘关系图的搜索 10 | - [ ] 全局血缘影响分析 11 | - [ ] 一些 tips 转提示文案 12 | - [ ] SQLlite/H2 替换 Paimon 13 | - [ ] 完善文档 14 | - [ ] 修复一些前端组件关闭问题 15 | - [ ] 资源中心类型为 HDFS 时支持 Kerberos 认证 16 | - [ ] Git 项目管理体验提升 17 | - [ ] 执行历史预览数据支持 18 | - [ ] 作业导入导出 19 | - [ ] Flyway 支持以及一些表结构字段信息的变更 20 | - [ ] 责任人机制 21 | - [ ] 单点登录 22 | - [ ] 新增 Kyuubi 数据源 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/roadmap.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position : 995 3 | id: roadmap 4 | title: 未来计划 5 | ----------- 6 | 7 | - [ ] 连接线展示其转换逻辑关系 8 | - [ ] 血缘关系图的导出 9 | - [ ] 血缘关系图的搜索 10 | - [ ] 全局血缘影响分析 11 | - [ ] 一些 tips 转提示文案 12 | - [ ] SQLlite/H2 替换 Paimon 13 | - [ ] 完善文档 14 | - [ ] 修复一些前端组件关闭问题 15 | - [ ] 资源中心类型为 HDFS 时支持 Kerberos 认证 16 | - [ ] Git 项目管理体验提升 17 | - [ ] 执行历史预览数据支持 18 | - [ ] 作业导入导出 19 | - [ ] Flyway 支持以及一些表结构字段信息的变更 20 | - [ ] 责任人机制 21 | - [ ] 单点登录 22 | - [ ] 新增 Kyuubi 数据源 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/developer_guide/contribution/auto_sync.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 105 3 | position: 105 4 | id: auto_sync 5 | title: 自动同步主仓库 6 | --- 7 | 8 | 9 | 10 | :::info 简介 11 | 自动同步主仓库 (upstream) 的代码到你的仓库 (origin),保持你的仓库代码与主仓库代码同步。 12 | ::: 13 | 14 | ## 步骤 15 | 16 | 1. Fork 主仓库到你的 GitHub 账号下. 17 | 2. 点击 Fork 之后的仓库, 点击 `Actions` 标签. 18 | 3. 会提示一些介绍, 点击 `I understand my workflows, go ahead and enable them` 按钮. 19 | 4. 完成之后,会在每天的 00:00:00 执行同步操作. 后续该 workflow 文件不改变的情况下,会一直按照定时配置自动执行同步操作. 20 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/developer_guide/contribution/auto_sync.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 105 3 | position: 105 4 | id: auto_sync 5 | title: 自动同步主仓库 6 | --- 7 | 8 | 9 | 10 | :::info 简介 11 | 自动同步主仓库 (upstream) 的代码到你的仓库 (origin),保持你的仓库代码与主仓库代码同步。 12 | ::: 13 | 14 | ## 步骤 15 | 16 | 1. Fork 主仓库到你的 GitHub 账号下. 17 | 2. 点击 Fork 之后的仓库, 点击 `Actions` 标签. 18 | 3. 会提示一些介绍, 点击 `I understand my workflows, go ahead and enable them` 按钮. 19 | 4. 完成之后,会在每天的 00:00:00 执行同步操作. 后续该 workflow 文件不改变的情况下,会一直按照定时配置自动执行同步操作. 20 | -------------------------------------------------------------------------------- /dinky-core/src/test/resources/flink/sql/single-insert.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE datagen_source 2 | ( 3 | id BIGINT, 4 | name STRING, 5 | sex INT, 6 | age INT 7 | ) WITH ( 8 | 'connector' = 'datagen' 9 | ); 10 | 11 | CREATE TABLE print_sink 12 | ( 13 | id BIGINT, 14 | name STRING, 15 | sex INT, 16 | age INT 17 | ) WITH ( 18 | 'connector' = 'print' 19 | ); 20 | 21 | INSERT INTO print_sink 22 | SELECT id, 23 | name, 24 | sex, 25 | age 26 | from datagen_source; -------------------------------------------------------------------------------- /dinky-core/src/test/resources/flink/sql/variable.sql: -------------------------------------------------------------------------------- 1 | tb:=datagen_source; 2 | CREATE TABLE datagen_source 3 | ( 4 | id BIGINT, 5 | name STRING, 6 | sex INT, 7 | age INT 8 | ) WITH ( 9 | 'connector' = 'datagen' 10 | ); 11 | 12 | CREATE TABLE print_sink 13 | ( 14 | id BIGINT, 15 | name STRING, 16 | sex INT, 17 | age INT 18 | ) WITH ( 19 | 'connector' = 'print' 20 | ); 21 | 22 | INSERT INTO print_sink 23 | SELECT id, 24 | name, 25 | sex, 26 | age 27 | from ${tb}; -------------------------------------------------------------------------------- /docs/docs/user_guide/system_setting/system_log.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 2 3 | id: system_log 4 | sidebar_position: 2 5 | title: 系统日志 6 | --- 7 | 8 | :::info 9 | 10 | 为了方便的查看系统日志,Dinky 提供了页面化查看系统日志功能,方便排查问题。不需要频繁使用 SSH 登录服务器查看日志。 11 | 12 | 1. 支持查看主日志文件 13 | 2. 支持查看所有历史归档日志文件 14 | 3. 在查看同时支持 向下/向上, 跳至顶部/底部, 以及定时刷新(5s) 等功能 15 | 4. 支持日志下载功能 16 | ::: 17 | 18 | 19 | ## 查看系统日志 20 | 21 | ![root_log](http://pic.dinky.org.cn/dinky/docs/test/root_log.jpg) 22 | 23 | 24 | ## 查看历史归档日志 25 | 26 | ![history_logs](http://pic.dinky.org.cn/dinky/docs/test/history_logs.jpg) -------------------------------------------------------------------------------- /deploy/kubernetes/helm/dinky/templates/secret-external-mysql-database.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.externalDatabase.enabled -}} 2 | {{ if eq .Values.externalDatabase.type "mysql" }} 3 | apiVersion: v1 4 | kind: Secret 5 | metadata: 6 | name: {{ include "dinky.name" . }}-mysql 7 | data: 8 | MYSQL_ADDR: {{ .Values.externalDatabase.url | b64enc | quote }} 9 | MYSQL_USERNAME: {{ .Values.externalDatabase.auth.username | b64enc | quote }} 10 | MYSQL_PASSWORD: {{ .Values.externalDatabase.auth.password | b64enc | quote }} 11 | type: Opaque 12 | {{- end }} 13 | {{- end }} -------------------------------------------------------------------------------- /dinky-alert/dinky-alert-wechat/src/main/resources/WeChat-app.ftl: -------------------------------------------------------------------------------- 1 | { 2 | <#if atUsers??> 3 | "touser" : "<#list atUsers as key>${key}|", 4 | 5 | <#if atParty??> 6 | "toparty" : "<#list atParty as key>${key}|", 7 | 8 | <#if atTotag??> 9 | "totag" : "<#list atTotag as key>${key}|", 10 | 11 | 12 | "msgtype": "markdown", 13 | "agentid": ${agentId}, 14 | "markdown": { 15 | "content": "### Dinky Alert:${title}\n${content?json_string}" 16 | }, 17 | "enable_duplicate_check": 0, 18 | "duplicate_check_interval": 1800 19 | } -------------------------------------------------------------------------------- /deploy/kubernetes/helm/dinky/templates/secret-external-postgres-database.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.externalDatabase.enabled -}} 2 | {{ if eq .Values.externalDatabase.type "postgresql" }} 3 | apiVersion: v1 4 | kind: Secret 5 | metadata: 6 | name: {{ include "dinky.name" . }}-postgres 7 | data: 8 | POSTGRES_ADDR: {{ .Values.externalDatabase.url | b64enc | quote }} 9 | POSTGRES_USER: {{ .Values.externalDatabase.auth.username | b64enc | quote }} 10 | POSTGRES_PASSWORD: {{ .Values.externalDatabase.auth.password | b64enc | quote }} 11 | type: Opaque 12 | {{- end }} 13 | {{- end }} -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/system_setting/system_log.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 2 3 | id: system_log 4 | sidebar_position: 2 5 | title: 系统日志 6 | --- 7 | 8 | :::info 9 | 10 | 为了方便的查看系统日志,Dinky 提供了页面化查看系统日志功能,方便排查问题。不需要频繁使用 SSH 登录服务器查看日志。 11 | 12 | 1. 支持查看主日志文件 13 | 2. 支持查看所有历史归档日志文件 14 | 3. 在查看同时支持 向下/向上, 跳至顶部/底部, 以及定时刷新(5s) 等功能 15 | 4. 支持日志下载功能 16 | ::: 17 | 18 | 19 | ## 查看系统日志 20 | 21 | ![root_log](http://pic.dinky.org.cn/dinky/docs/test/root_log.jpg) 22 | 23 | 24 | ## 查看历史归档日志 25 | 26 | ![history_logs](http://pic.dinky.org.cn/dinky/docs/test/history_logs.jpg) -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/system_setting/system_log.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 2 3 | id: system_log 4 | sidebar_position: 2 5 | title: 系统日志 6 | --- 7 | 8 | :::info 9 | 10 | 为了方便的查看系统日志,Dinky 提供了页面化查看系统日志功能,方便排查问题。不需要频繁使用 SSH 登录服务器查看日志。 11 | 12 | 1. 支持查看主日志文件 13 | 2. 支持查看所有历史归档日志文件 14 | 3. 在查看同时支持 向下/向上, 跳至顶部/底部, 以及定时刷新(5s) 等功能 15 | 4. 支持日志下载功能 16 | ::: 17 | 18 | 19 | ## 查看系统日志 20 | 21 | ![root_log](http://pic.dinky.org.cn/dinky/docs/test/root_log.jpg) 22 | 23 | 24 | ## 查看历史归档日志 25 | 26 | ![history_logs](http://pic.dinky.org.cn/dinky/docs/test/history_logs.jpg) -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/flink_sql_development_guide/development_guide_overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | id: development_guide_overview 4 | title: 开发指南概述 5 | --- 6 | 7 | SQL 与其他的编程语言相比学习成本较低,使用 SQL 作业进行开发将极大的降低数据开发人员使用 Flink 的门槛。 8 | 9 | 本章节提供了 FlinkSQL 作业的开发指南。通过阅读本章节,您将很快完成 FlinkSQL的作业开发。 10 | 11 | - [词汇术语](./glossary) 12 | - [数据类型](./data_type) 13 | - [SET 语句](./set_statement) 14 | - [DDL 语句](./ddl_statement/create_statements) 15 | - [DML 语句](./dml_statements/insert_statements) 16 | - [运算符和内置函数](./operators_functions) 17 | - [扩展语法](./extend_statement) 18 | 19 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/administrator_guide/studio/job_log.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | id: job_log 4 | title: 作业日志 5 | --- 6 | 7 | ## 查看启动和运行日志 8 | 9 | 在作业为运行状态时,您可以查看其启动日志和运行日志。 10 | 11 | | 类型 | 说明 | 12 | | :------: | :----------------------------------------------------------: | 13 | | 启动日志 | FlinkSQL 作业启动时的日志,即从FlinkSQL 环境被初始化一直到Job Manager被启动起来中间日志 | 14 | | 运行日志 | Flink的Job Manager和Task Managers的日志可以运维中心查看,也可以在Flink UI界面查看 | 15 | 16 | :::tip 说明 17 | 18 | 启动日志中包含启动作业失败的原因,例如 SQL字段不一致,资源不足等 19 | 20 | ::: 21 | -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/json/openapi_cancel.json: -------------------------------------------------------------------------------- 1 | /* http://127.0.0.1:8888/openapi/explainSql */ 2 | { 3 | /* required-start */ 4 | "jobId":"195352b0a4518e16699983a13205f059", 5 | /* required-end */ 6 | /* custom-start */ 7 | "address":"127.0.0.1:8081", 8 | "gatewayConfig":{ 9 | "clusterConfig":{ 10 | "appId":"application_1637739262398_0032", 11 | "flinkConfigPath":"/opt/src/flink-1.13.3_conf/conf", 12 | "flinkLibPath":"hdfs:///flink13/lib/flinklib", 13 | "yarnConfigPath":"/usr/local/hadoop/hadoop-2.7.7/etc/hadoop" 14 | } 15 | } 16 | /* custom-start */ 17 | } -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/jmx/jmx_exporter_config.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | lowercaseOutputLabelNames: true 3 | lowercaseOutputName: true 4 | whitelistObjectNames: ["java.lang:type=OperatingSystem"] 5 | blacklistObjectNames: [] 6 | rules: 7 | - pattern: 'java.lang<>(committed_virtual_memory|free_physical_memory|free_swap_space|total_physical_memory|total_swap_space)_size:' 8 | name: os_$1_bytes 9 | type: GAUGE 10 | attrNameSnakeCase: true 11 | - pattern: 'java.lang<>((?!process_cpu_time)\w+):' 12 | name: os_$1 13 | type: GAUGE 14 | attrNameSnakeCase: true -------------------------------------------------------------------------------- /deploy/kubernetes/helm/dinky/conf/jmx/jmx_exporter_config.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | lowercaseOutputLabelNames: true 3 | lowercaseOutputName: true 4 | whitelistObjectNames: ["java.lang:type=OperatingSystem"] 5 | blacklistObjectNames: [] 6 | rules: 7 | - pattern: 'java.lang<>(committed_virtual_memory|free_physical_memory|free_swap_space|total_physical_memory|total_swap_space)_size:' 8 | name: os_$1_bytes 9 | type: GAUGE 10 | attrNameSnakeCase: true 11 | - pattern: 'java.lang<>((?!process_cpu_time)\w+):' 12 | name: os_$1 13 | type: GAUGE 14 | attrNameSnakeCase: true -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/administrator_guide/studio/job_monitoring.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 4 3 | id: job_monitoring 4 | title: 作业监控 5 | --- 6 | 7 | ## 查看作业监控信息 8 | 9 | 对于正在运行(或者曾经成功运行过)的流计算作业,用户有两种方式查看监控信息。如下: 10 | 11 | - **运维中心** 12 | - **Flink Dashboard** 13 | 14 | ## 配置作业监控告警 15 | 16 | 详见注册中心的[报警管理](../../administrator_guide/register_center/warning) 17 | 18 | ## 查看作业 Flink 监控指标 19 | 20 | 处于运行中状态的作业可以查看该作业的 监控指标,作业的监控有两个入口 21 | 22 | - **运维中心** 23 | 24 | - **Flink Dashboard** 25 | 26 | 27 | 28 | :::tip 说明 29 | 30 | 查看 Flink 监控指标详见**运维中心**的[监控指标一览](../devops_center/indicators_list) 31 | 32 | ::: -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/mapper/UserTenantMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | id 6 | ,user_id,tenant_id 7 | 8 | 9 | 16 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/platform_intro/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | sidebar_position: 1 4 | title: Dinky 简介 5 | --------------- 6 | 7 | ## 介绍 8 | 9 | 实时即未来,Dinky 为 Apache Flink 而生,让 Flink SQL 纵享丝滑。 10 | 11 | Dinky 是一个开箱即用、易扩展,以 Apache Flink 为基础,连接 OLAP 和数据湖等众多框架的一站式实时计算平台,致力于流批一体和湖仓一体的探索与实践。 12 | 13 | 最后,Dinky 的发展皆归功于 Apache Flink 等其他优秀的开源项目的指导与成果。 14 | 15 | ## 由来 16 | 17 | Dinky(原 Dlink): 18 | 19 | 1.Dinky 英译为 “ 小巧而精致的 ” ,最直观的表明了它的特征:轻量又具备常用的大数据开发能力。 20 | 21 | 2.为 “ Data Integrate No Knotty ” 的首字母组合,英译 “ 数据整合不难 ”,寓意 “ 易于建设批流一体平台及应用 ”。 22 | 23 | 3.从 Dlink 改名为 Dinky 过渡平滑,更加形象的阐明了开源项目的目标,始终指引参与者们 “不忘初心,方得始终 ”。 24 | 25 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /dinky-web/README_zh_CN.md: -------------------------------------------------------------------------------- 1 | # Dinky-web 2 | 3 | 本项目使用 [Ant Design Pro](https://pro.ant.design) 进行初始化。 以下是如何使用的快速指南。 4 | 5 | ## 环境准备 6 | 7 | | 环境 | 版本 | 备注 | 8 | | ---- | ---- | ---- | 9 | | node | 18+ | | 10 | | npm | 10+ | | 11 | 12 | > 自行配置相关环境变量 13 | 14 | ## 启动 15 | 16 | ```bash 17 | # 注意: 需要进入到此模块目录下执行 18 | 19 | npm i --force && npm start 20 | ``` 21 | 22 | ### 构建 23 | 24 | ```bash 25 | npm run build 26 | ``` 27 | 28 | ### 代码样式检查 29 | 30 | ```bash 31 | npm run lint 32 | ``` 33 | 34 | 您还可以使用脚本自动修复一些 lint 错误: 35 | 36 | ```bash 37 | npm run lint:fix 38 | ``` 39 | 40 | ### 代码格式化 41 | 42 | ```bash 43 | npm run prettier 44 | ``` 45 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/extend/function_expansion/flinkversion.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | id: flinkversion 4 | title: 扩展 Flink 版本 5 | --- 6 | 7 | 8 | 9 | 10 | ## 扩展其他版本的 Flink 11 | 12 | **dlink-catalog-mysql**、**dlink-client**、**dlink-app**。 13 | 14 | **lib** 目录下默认的上面三个依赖对应的 flink 版本可能和你想要使用的 flink 版本不一致,需要进入到平台的 **lib** 目录下查看具体的上面三个依赖对应的 flink 版本, 15 | 如果不一致,则需要删除 **lib** 目录下的对应的上面三个依赖包,然后从 **extends** 和 **jar** 目录下找到合适的包,拷贝到 **lib** 目录下。 16 | 17 | 比如 **lib** 目录下的 **dlink-client-1.14-0.6.7.jar** ,表示使用的 flink 版本为 1.14.x , 18 | 如果你在 **plugins** 目录下上传的 flink 用到的 jar 包的版本不是 1.14.x ,就需要更换 **dlink-client** 包。 19 | 20 | 21 | 切换版本时需要同时更新 plugins 下的 Flink 依赖。 -------------------------------------------------------------------------------- /docs/docs/user_guide/register_center/alert/alert_overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 1 3 | sidebar_position: 1 4 | id: alert_overview 5 | title: 告警功能概览 6 | --- 7 | 8 | :::info 介绍 9 | 10 | Dinky的告警功能,可以通过配置告警实例,告警组,告警模版,告警策略,来实现对 Flink 任务的监控告警 11 | 12 | ::: 13 | ## 告警实例 14 | 15 | > 用于配置告警的具体实例,如钉钉,企业微信,飞书,邮箱,短信,Http等 ,一个告警实例可以被多个告警组使用 16 | 17 | 详情请参考 [告警实例](alert_instance) 18 | 19 | ## 告警组 20 | 21 | > 用于配置告警的组,一个告警组可以包含多个告警实例 22 | 23 | 详情请参考 [告警组](alert_group) 24 | 25 | ## 告警模版 26 | 27 | > 用于配置告警的模版,一个告警模版可以被多个告警策略使用 28 | 29 | 详情请参考 [告警模版](alert_template) 30 | 31 | 32 | ## 告警策略 33 | 34 | > 用于配置告警的策略,可配置多种告警策略,已经内置了部分告警策略,也可自行创建自定义告警策略 35 | 36 | 详情请参考 [告警策略](./alert_strategy) -------------------------------------------------------------------------------- /dinky-web/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "module": "esnext", 5 | "moduleResolution": "node", 6 | "importHelpers": true, 7 | "jsx": "preserve", 8 | "esModuleInterop": true, 9 | "sourceMap": true, 10 | "baseUrl": "./", 11 | "skipLibCheck": true, 12 | "experimentalDecorators": true, 13 | "strict": true, 14 | "resolveJsonModule": true, 15 | "allowSyntheticDefaultImports": true, 16 | "paths": { 17 | "@/*": ["./src/*"], 18 | "@@/*": ["./src/.umi/*"], 19 | "@@test/*": ["./src/.umi-test/*"] 20 | } 21 | }, 22 | "include": ["./**/*.d.ts", "./**/*.ts", "./**/*.tsx"] 23 | } 24 | -------------------------------------------------------------------------------- /docs/docs/user_guide/auth_center/token.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 6 3 | sidebar_position: 6 4 | id: token 5 | title: 令牌 6 | --- 7 | 8 | :::info 简介 9 | 为了实现 OpenApi 的安全访问,Dinky 提供了令牌管理功能,可以实现对 Dinky OpenApi 的访问控制。并提供细粒度的权限控制,可以对用户、角色、租户进行授权。 10 | ::: 11 | 12 | ### 新建 13 | 点击新建按钮,点击生成token,选择用户、角色、租户,选择过期类型,完成令牌的新建。 14 | 15 | > 注意: 选择时必须依次选择 会触发级联查询操作, 选择用户后, 角色会自动刷新, 选择角色后, 租户会自动刷新。 16 | 17 | :::tip 提示 18 | 过期策略: 19 | 1. 永不过期: 令牌永不过期, 除非手动删除 20 | 2. 指定过期时间: 令牌在指定的时间点过期 21 | 3. 指定过期时间区间: 令牌在指定的时间区间内有效, 区间内的任意时间点都可以访问, 区间外的时间点都无法访问 22 | ::: 23 | 24 | 25 | **认证中心 > 令牌 > 新建** 26 | 27 | ![token_add](http://pic.dinky.org.cn/dinky/docs/test/token_add.png) 28 | 29 | 如需要对令牌进行修改,可点击编辑按钮进行操作。 30 | 31 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/register_center/alert/alert_overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 1 3 | sidebar_position: 1 4 | id: alert_overview 5 | title: 告警功能概览 6 | --- 7 | 8 | :::info 介绍 9 | 10 | Dinky的告警功能,可以通过配置告警实例,告警组,告警模版,告警策略,来实现对 Flink 任务的监控告警 11 | 12 | ::: 13 | ## 告警实例 14 | 15 | > 用于配置告警的具体实例,如钉钉,企业微信,飞书,邮箱,短信,Http等 ,一个告警实例可以被多个告警组使用 16 | 17 | 详情请参考 [告警实例](alert_instance) 18 | 19 | ## 告警组 20 | 21 | > 用于配置告警的组,一个告警组可以包含多个告警实例 22 | 23 | 详情请参考 [告警组](alert_group) 24 | 25 | ## 告警模版 26 | 27 | > 用于配置告警的模版,一个告警模版可以被多个告警策略使用 28 | 29 | 详情请参考 [告警模版](alert_template) 30 | 31 | 32 | ## 告警策略 33 | 34 | > 用于配置告警的策略,可配置多种告警策略,已经内置了部分告警策略,也可自行创建自定义告警策略 35 | 36 | 详情请参考 [告警策略](./alert_strategy) -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/register_center/alert/alert_overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 1 3 | sidebar_position: 1 4 | id: alert_overview 5 | title: 告警功能概览 6 | --- 7 | 8 | :::info 介绍 9 | 10 | Dinky的告警功能,可以通过配置告警实例,告警组,告警模版,告警策略,来实现对 Flink 任务的监控告警 11 | 12 | ::: 13 | ## 告警实例 14 | 15 | > 用于配置告警的具体实例,如钉钉,企业微信,飞书,邮箱,短信,Http等 ,一个告警实例可以被多个告警组使用 16 | 17 | 详情请参考 [告警实例](alert_instance) 18 | 19 | ## 告警组 20 | 21 | > 用于配置告警的组,一个告警组可以包含多个告警实例 22 | 23 | 详情请参考 [告警组](alert_group) 24 | 25 | ## 告警模版 26 | 27 | > 用于配置告警的模版,一个告警模版可以被多个告警策略使用 28 | 29 | 详情请参考 [告警模版](alert_template) 30 | 31 | 32 | ## 告警策略 33 | 34 | > 用于配置告警的策略,可配置多种告警策略,已经内置了部分告警策略,也可自行创建自定义告警策略 35 | 36 | 详情请参考 [告警策略](./alert_strategy) -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/auth_center/token.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 6 3 | sidebar_position: 6 4 | id: token 5 | title: 令牌 6 | --- 7 | 8 | :::info 简介 9 | 为了实现 OpenApi 的安全访问,Dinky 提供了令牌管理功能,可以实现对 Dinky OpenApi 的访问控制。并提供细粒度的权限控制,可以对用户、角色、租户进行授权。 10 | ::: 11 | 12 | ### 新建 13 | 点击新建按钮,点击生成token,选择用户、角色、租户,选择过期类型,完成令牌的新建。 14 | 15 | > 注意: 选择时必须依次选择 会触发级联查询操作, 选择用户后, 角色会自动刷新, 选择角色后, 租户会自动刷新。 16 | 17 | :::tip 提示 18 | 过期策略: 19 | 1. 永不过期: 令牌永不过期, 除非手动删除 20 | 2. 指定过期时间: 令牌在指定的时间点过期 21 | 3. 指定过期时间区间: 令牌在指定的时间区间内有效, 区间内的任意时间点都可以访问, 区间外的时间点都无法访问 22 | ::: 23 | 24 | 25 | **认证中心 > 令牌 > 新建** 26 | 27 | ![token_add](http://pic.dinky.org.cn/dinky/docs/test/token_add.png) 28 | 29 | 如需要对令牌进行修改,可点击编辑按钮进行操作。 30 | 31 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/auth_center/token.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 6 3 | sidebar_position: 6 4 | id: token 5 | title: 令牌 6 | --- 7 | 8 | :::info 简介 9 | 为了实现 OpenApi 的安全访问,Dinky 提供了令牌管理功能,可以实现对 Dinky OpenApi 的访问控制。并提供细粒度的权限控制,可以对用户、角色、租户进行授权。 10 | ::: 11 | 12 | ### 新建 13 | 点击新建按钮,点击生成token,选择用户、角色、租户,选择过期类型,完成令牌的新建。 14 | 15 | > 注意: 选择时必须依次选择 会触发级联查询操作, 选择用户后, 角色会自动刷新, 选择角色后, 租户会自动刷新。 16 | 17 | :::tip 提示 18 | 过期策略: 19 | 1. 永不过期: 令牌永不过期, 除非手动删除 20 | 2. 指定过期时间: 令牌在指定的时间点过期 21 | 3. 指定过期时间区间: 令牌在指定的时间区间内有效, 区间内的任意时间点都可以访问, 区间外的时间点都无法访问 22 | ::: 23 | 24 | 25 | **认证中心 > 令牌 > 新建** 26 | 27 | ![token_add](http://pic.dinky.org.cn/dinky/docs/test/token_add.png) 28 | 29 | 如需要对令牌进行修改,可点击编辑按钮进行操作。 30 | 31 | -------------------------------------------------------------------------------- /dinky-web/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | **/node_modules 5 | # roadhog-api-doc ignore 6 | /src/utils/request-temp.js 7 | _roadhog-api-doc 8 | 9 | # production 10 | /dist 11 | 12 | # misc 13 | .DS_Store 14 | npm-debug.log* 15 | yarn-error.log 16 | 17 | /coverage 18 | .idea 19 | yarn.lock 20 | package-lock.json 21 | *bak 22 | .vscode 23 | 24 | 25 | # visual studio code 26 | .history 27 | *.log 28 | functions/* 29 | .temp/** 30 | 31 | # umi 32 | .umi 33 | .umi-production 34 | .umi-test 35 | 36 | # screenshot 37 | screenshot 38 | .firebase 39 | .eslintcache 40 | 41 | build 42 | 43 | pnpm-lock.yaml 44 | 45 | .husky 46 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/thanks.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 18 3 | id: thanks 4 | title: 致谢 5 | --- 6 | 7 | 8 | [Apache Flink](https://github.com/apache/flink) 9 | 10 | [Mybatis Plus](https://github.com/baomidou/mybatis-plus) 11 | 12 | [ant-design-pro](https://github.com/ant-design/ant-design-pro) 13 | 14 | [Monaco Editor](https://github.com/Microsoft/monaco-editor) 15 | 16 | [SpringBoot](https://spring.io/projects/spring-boot) 17 | 18 | [docusaurus]( https://github.com/facebook/docusaurus/) 19 | 20 | 此外,感谢 [JetBrains](https://www.jetbrains.com/?from=dlink) 提供的免费开源 License 赞助 21 | 22 | [![JetBrains](http://pic.dinky.org.cn/dinky/docs/zh-CN/thanks/jetbrains.svg)](https://www.jetbrains.com/?from=dlink) -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/mapper/RoleMenuMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/json/openapi_savepoint.json: -------------------------------------------------------------------------------- 1 | /* http://127.0.0.1:8888/openapi/savepoint */ 2 | { 3 | /* required-start */ 4 | "jobId":"195352b0a4518e16699983a13205f059", 5 | "savePointType":"trigger", // trigger | stop | cancel 6 | /* required-end */ 7 | /* custom-start */ 8 | "savePoint":"195352b0a4518e16699983a13205f059", 9 | "address":"127.0.0.1:8081", 10 | "gatewayConfig":{ 11 | "clusterConfig":{ 12 | "appId":"application_1637739262398_0032", 13 | "flinkConfigPath":"/opt/src/flink-1.13.3_conf/conf", 14 | "flinkLibPath":"hdfs:///flink13/lib/flinklib", 15 | "yarnConfigPath":"/usr/local/hadoop/hadoop-2.7.7/etc/hadoop" 16 | } 17 | } 18 | /* custom-start */ 19 | } -------------------------------------------------------------------------------- /dinky-alert/dinky-alert-dingtalk/src/main/resources/DingTalk.ftl: -------------------------------------------------------------------------------- 1 | { 2 | "msgtype": "markdown", 3 | "markdown": { 4 | "title": "${keyword?json_string}${title}<#list atMobiles as key> @${key} ", 5 | "text": "### Dinky Alert:${title}\n> Your task there is an abnormality, Please troubleshoot\n\n${content?json_string}\n ---\n[Dinky Team](https://github.com/DataLinkDC/dinky)" 6 | }, 7 | "at": { 8 | <#if atMobiles??> 9 | "atMobiles": [ 10 | <#list atMobiles as key> 11 | "${key}"<#if key_has_next>, 12 | 13 | ], 14 | 15 | "isAtAll": ${isAtAll?c}, 16 | } 17 | } -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/mybatis.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /deploy/kubernetes/helm/dinky/templates/service-external-database.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.externalDatabase.enabled -}} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ .Values.service.name }}-external-svc 6 | spec: 7 | clusterIP: {{ .Values.externalDatabaseService.clusterIP }} 8 | ports: 9 | - port: {{ .Values.externalDatabaseService.port }} 10 | targetPort: {{ .Values.externalDatabaseService.port }} 11 | protocol: TCP 12 | --- 13 | apiVersion: v1 14 | kind: Endpoints 15 | metadata: 16 | name: {{ .Values.service.name }}-external-svc 17 | subsets: 18 | - addresses: 19 | - ip: {{ .Values.externalDatabaseEndpoints.ip }} 20 | ports: 21 | - port: {{ .Values.externalDatabaseEndpoints.port }} 22 | {{- end }} -------------------------------------------------------------------------------- /docs/docs/user_guide/auth_center/tenant.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 5 3 | sidebar_position: 5 4 | id: tenant 5 | title: 租户 6 | --- 7 | 8 | 9 | :::info 简介 10 | 11 | 租户模块提供了租户的新增、编辑及用户的分配功能。 12 | 13 | 系统初始化时,默认创建了一个超级管理员租户,租户编码为: `DefaultTenant`, 租户名称为: `DefaultTenant`, 该租户拥有系统所有权限, 无法删除。 14 | 15 | 此功能建议由系统管理员操作,不建议将此功能开放给普通用户. 16 | ::: 17 | 18 | ### 新建 19 | 点击新建按钮,输入租户编码、备注等相关信息,完成租户的新建。 20 | 21 | **认证中心 > 租户 > 新建** 22 | 23 | ![tenant_add](http://pic.dinky.org.cn/dinky/docs/test/tenant_add.png) 24 | 25 | ### 分配用户 26 | 点击分配用户按钮,选择需要分配的用户,完成用户的分配。 27 | 28 | **认证中心 > 租户 > 新建** 29 | 30 | ![tenant_allocation](http://pic.dinky.org.cn/dinky/docs/test/tenant_allocation.png) 31 | 32 | :::tip 提示 33 | 1. 分配完成后,需要用户重新登录才能生效。 34 | 2. 点击`租户编码`可以查看租户下的用户。 35 | :: -------------------------------------------------------------------------------- /e2e_test/tools/httpUtil.py: -------------------------------------------------------------------------------- 1 | from json import JSONDecodeError 2 | 3 | from requests import Response 4 | 5 | from config import dinky_addr 6 | 7 | 8 | def url(path: str): 9 | return rf"http://{dinky_addr}/{path}" 10 | 11 | 12 | def assertRespOk(resp: Response, api_name: str): 13 | if resp.status_code != 200: 14 | raise AssertionError("api name:{api_name} request failed") 15 | else: 16 | try: 17 | resp_json = resp.json() 18 | if not resp_json["success"]: 19 | raise AssertionError(f"api name:{api_name} request failed.Error: {resp_json['msg']}") 20 | except JSONDecodeError: 21 | raise AssertionError(f"api name:{api_name} request failed.Error: {resp.content.decode()}") 22 | -------------------------------------------------------------------------------- /docs/docs/user_guide/metrics_overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 6 3 | sidebar_position: 6 4 | id: metrics_overview 5 | title: 监控 6 | --- 7 | 8 | :::info 简介 9 | Dinky1.0增加了Metrics监控功能,可以实现对 Dinky Server的 JVM 信息的监控 10 | 如需要查看 Dinky Server 的实时的 JVM 等信息,需要再 **配置中心** > **全局配置** > **[Metrics 配置](./system_setting/global_settings/metrics_setting)** 中开启 Dinky JVM Monitor 开关 11 | 12 | 注意: 在 Dinky v1.0.0 版本及以上,Metrics 监控功能默认关闭,需要手动开启,否则无法正常监控 13 | 14 | ::: 15 | 16 | 17 | ### Dinky Server 监控 18 | 19 | 20 | ![metrics_overview_dinky](http://pic.dinky.org.cn/dinky/docs/test/metrics_overview_dinky.png) 21 | 22 | 23 | ### Flink 监控 24 | 25 | > 此功能 主要展示在 **运维中心** > **任务详情** > **监控** 中 定义的监控指标 26 | 27 | 28 | ![metrics_flink](http://pic.dinky.org.cn/dinky/docs/test/metrics_flink.png) -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/auth_center/tenant.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 5 3 | sidebar_position: 5 4 | id: tenant 5 | title: 租户 6 | --- 7 | 8 | 9 | :::info 简介 10 | 11 | 租户模块提供了租户的新增、编辑及用户的分配功能。 12 | 13 | 系统初始化时,默认创建了一个超级管理员租户,租户编码为: `DefaultTenant`, 租户名称为: `DefaultTenant`, 该租户拥有系统所有权限, 无法删除。 14 | 15 | 此功能建议由系统管理员操作,不建议将此功能开放给普通用户. 16 | ::: 17 | 18 | ### 新建 19 | 点击新建按钮,输入租户编码、备注等相关信息,完成租户的新建。 20 | 21 | **认证中心 > 租户 > 新建** 22 | 23 | ![tenant_add](http://pic.dinky.org.cn/dinky/docs/test/tenant_add.png) 24 | 25 | ### 分配用户 26 | 点击分配用户按钮,选择需要分配的用户,完成用户的分配。 27 | 28 | **认证中心 > 租户 > 新建** 29 | 30 | ![tenant_allocation](http://pic.dinky.org.cn/dinky/docs/test/tenant_allocation.png) 31 | 32 | :::tip 提示 33 | 1. 分配完成后,需要用户重新登录才能生效。 34 | 2. 点击`租户编码`可以查看租户下的用户。 35 | :: -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/auth_center/tenant.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 5 3 | sidebar_position: 5 4 | id: tenant 5 | title: 租户 6 | --- 7 | 8 | 9 | :::info 简介 10 | 11 | 租户模块提供了租户的新增、编辑及用户的分配功能。 12 | 13 | 系统初始化时,默认创建了一个超级管理员租户,租户编码为: `DefaultTenant`, 租户名称为: `DefaultTenant`, 该租户拥有系统所有权限, 无法删除。 14 | 15 | 此功能建议由系统管理员操作,不建议将此功能开放给普通用户. 16 | ::: 17 | 18 | ### 新建 19 | 点击新建按钮,输入租户编码、备注等相关信息,完成租户的新建。 20 | 21 | **认证中心 > 租户 > 新建** 22 | 23 | ![tenant_add](http://pic.dinky.org.cn/dinky/docs/test/tenant_add.png) 24 | 25 | ### 分配用户 26 | 点击分配用户按钮,选择需要分配的用户,完成用户的分配。 27 | 28 | **认证中心 > 租户 > 新建** 29 | 30 | ![tenant_allocation](http://pic.dinky.org.cn/dinky/docs/test/tenant_allocation.png) 31 | 32 | :::tip 提示 33 | 1. 分配完成后,需要用户重新登录才能生效。 34 | 2. 点击`租户编码`可以查看租户下的用户。 35 | :: -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/metrics_overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 6 3 | sidebar_position: 6 4 | id: metrics_overview 5 | title: 监控 6 | --- 7 | 8 | :::info 简介 9 | Dinky1.0增加了Metrics监控功能,可以实现对 Dinky Server的 JVM 信息的监控 10 | 如需要查看 Dinky Server 的实时的 JVM 等信息,需要再 **配置中心** > **全局配置** > **[Metrics 配置](./system_setting/global_settings/metrics_setting)** 中开启 Dinky JVM Monitor 开关 11 | 12 | 注意: 在 Dinky v1.0.0 版本及以上,Metrics 监控功能默认关闭,需要手动开启,否则无法正常监控 13 | 14 | ::: 15 | 16 | 17 | ### Dinky Server 监控 18 | 19 | 20 | ![metrics_overview_dinky](http://pic.dinky.org.cn/dinky/docs/test/metrics_overview_dinky.png) 21 | 22 | 23 | ### Flink 监控 24 | 25 | > 此功能 主要展示在 **运维中心** > **任务详情** > **监控** 中 定义的监控指标 26 | 27 | 28 | ![metrics_flink](http://pic.dinky.org.cn/dinky/docs/test/metrics_flink.png) -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/metrics_overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 6 3 | sidebar_position: 6 4 | id: metrics_overview 5 | title: 监控 6 | --- 7 | 8 | :::info 简介 9 | Dinky1.0增加了Metrics监控功能,可以实现对 Dinky Server的 JVM 信息的监控 10 | 如需要查看 Dinky Server 的实时的 JVM 等信息,需要再 **配置中心** > **全局配置** > **[Metrics 配置](./system_setting/global_settings/metrics_setting)** 中开启 Dinky JVM Monitor 开关 11 | 12 | 注意: 在 Dinky v1.0.0 版本及以上,Metrics 监控功能默认关闭,需要手动开启,否则无法正常监控 13 | 14 | ::: 15 | 16 | 17 | ### Dinky Server 监控 18 | 19 | 20 | ![metrics_overview_dinky](http://pic.dinky.org.cn/dinky/docs/test/metrics_overview_dinky.png) 21 | 22 | 23 | ### Flink 监控 24 | 25 | > 此功能 主要展示在 **运维中心** > **任务详情** > **监控** 中 定义的监控指标 26 | 27 | 28 | ![metrics_flink](http://pic.dinky.org.cn/dinky/docs/test/metrics_flink.png) -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/upgrade.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 13 3 | id: upgrade 4 | title: 升级指南 5 | --- 6 | 7 | ## 后端编译包升级 8 | 9 | 1. 下载最新的编译包 10 | 2. 对比一下 安装目录/config 下的文件,主要是 `application.yml` ,如果没用到最新特性,在最新版中修改一下mysql连接配置即可 11 | 3. 如果需要使用新特性,相关配置看相关文档描述即可 12 | 13 | --- 14 | 15 | ## 数据库 `SQL` 升级 16 | 17 | ```sql 18 | -- 注意: 按照版本号依次升级 切不可跨版本升级 ${version} 代表的是你目前的 dinky版本+1 依次往下执行 19 | -- 其中 /opt/dinky 是你dinky安装的目录 20 | mysql> source /opt/dinky/sql/upgrade/${version}_schema/mysql/dinky_ddl.sql -- 表的ddl 21 | mysql> source /opt/dinky/sql/upgrade/${version}_schema/mysql/dinky_dml.sql -- 表初始化数据 (部分版本无) 22 | ``` 23 | 24 | --- 25 | 26 | ## 前后端分离升级 27 | 28 | ### 前端升级 29 | 30 | 重新编译 `dinky-web` 模块 移到 nginx 对应目录即可 31 | 32 | ### 后端升级 33 | 34 | [查看如上](./upgrade#后端编译包升级) 35 | 36 | --- 37 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Purpose of the pull request 2 | 3 | 4 | 5 | ## Brief change log 6 | 7 | 10 | ## Verify this pull request 11 | 12 | 13 | 14 | This pull request is code cleanup without any test coverage. 15 | 16 | *(or)* 17 | 18 | This pull request is already covered by existing tests, such as *(please describe tests)*. 19 | 20 | (or) 21 | 22 | This change added tests and can be verified as follows: 23 | 24 | 28 | -------------------------------------------------------------------------------- /deploy/docker/web/default.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; #侦听80端口,如果强制所有的访问都必须是HTTPs的,这行需要注销掉 3 | 4 | root /usr/share/nginx/html; 5 | 6 | # 定义首页索引目录和名称 7 | location /robots.txt { 8 | index /robots.txt; 9 | } 10 | 11 | location / { 12 | index index.html index.htm; 13 | try_files $uri $uri/ /index.html; 14 | } 15 | 16 | location ~ /api { 17 | proxy_pass http://API_ORIGIN; 18 | proxy_set_header X-Forwarded-Proto $scheme; 19 | proxy_set_header X-Real-IP $remote_addr; 20 | } 21 | 22 | location ~ .*\.(?:gif|jpg|png|css|js|flv|ico|swf)$ { 23 | add_header Cache-Control "no-cache"; 24 | expires 1d; 25 | } 26 | 27 | #重定向错误页面到 /50x.html 28 | error_page 500 502 503 504 /50x.html; 29 | location = /50x.html { 30 | root /usr/share/nginx/html; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /docs/docs/practical_guide/cdcsource_practice/cdcsource_mysqlcdc2hivecatalog.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 11 3 | position: 11 4 | id: cdcsource_mysqlcdc2hivecatalog 5 | title: MySQLCDC 整库到 HiveCatalog 6 | --- 7 | 8 | 9 | 10 | 11 | 12 | ### 整库同步到 HiveCatalog 13 | 14 | ```sql showLineNumbers 15 | EXECUTE CDCSOURCE demo WITH ( 16 | 'connector' = 'mysql-cdc', 17 | 'hostname' = '127.0.0.1', 18 | 'port' = '3306', 19 | 'username' = 'root', 20 | 'password' = '123456', 21 | 'checkpoint' = '10000', 22 | 'scan.startup.mode' = 'initial', 23 | 'parallelism' = '1', 24 | 'table-name' = 'test\..*', 25 | 'sink.connector' = 'sql-catalog', 26 | 'sink.catalog.name' = 'hive', 27 | 'sink.catalog.type' = 'hive', 28 | 'sink.sink.db' = 'hdb', 29 | 'sink.catalog.hive-conf-dir' = '/usr/local/dlink/hive-conf' 30 | ); 31 | ``` -------------------------------------------------------------------------------- /.github/workflows/pr-reviewer-assign.yml: -------------------------------------------------------------------------------- 1 | name: PR Auto Assign Reviewer 2 | 3 | on: 4 | pull_request_target: 5 | types: [ opened ] 6 | 7 | jobs: 8 | add-reviewer: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Add assignees 12 | uses: actions-cool/issues-helper@main 13 | with: 14 | actions: 'add-assignees' 15 | token: ${{ secrets.GITHUB_TOKEN }} 16 | issue-number: ${{ github.event.pull_request.number }} 17 | assignees: ${{ github.event.pull_request.user.login }} 18 | 19 | - name: Add reviewers 20 | uses: actions-cool/pr-welcome@main 21 | with: 22 | token: ${{ secrets.GITHUB_TOKEN }} 23 | pr-emoji: '+1, rocket' 24 | reviewers: 'zackyoungh,gaoyan1998,Zzm0809,aiwenmo' 25 | review-creator: false -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/administrator_guide/studio/development_control/component_introduce.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | id: component_introduce 4 | title: 方言介绍 5 | --- 6 | 7 | 8 | 9 | 目前支持的方言有: 10 | - FlinkSql 11 | - FlinkJar 12 | - FlinkSqlEnv 13 | - Mysql 14 | - PostGreSql 15 | - Oracle 16 | - SqlServer 17 | - Phoenix 18 | - Hive 19 | - Doris(StarRocks) 20 | - ClickHouse 21 | - Java 22 | 23 | ## FlinkSql 24 | 25 | 支持 Apache Flink sql-client 的绝大多数 FlinkSQL 语法,其中部分语法被优化,详见。 26 | 27 | ## FlinkJar 28 | 29 | 支持用户自定义的 Flink Jar 任务的配置,详见。 30 | 31 | ## FlinkSqlEnv 32 | 33 | 支持将 FlinkSQL 封装为执行环境,供 FlinkSQL 任务使用,详见。在执行 FlinkSQL 时,会先执行 FlinkSqlEnv 内的语句。 34 | 35 | ## DB sql 36 | 37 | 支持对应数据源的原生 sql 方言,详见。 38 | 39 | ## Java 40 | 41 | 支持书写 Java 的 UDF 等,并自动加载至 Local 模式。(当前存在 Bug,请不要使用) 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /docs/docs/user_guide/register_center/alert/alert_group.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 3 3 | sidebar_position: 3 4 | id: alert_group 5 | title: 告警组 6 | --- 7 | 8 | :::warning 触发告警前提条件 9 | 10 | 1. 只适用于 `FlinkSQL,FlinkJar` 任务 11 | 2. 作业为`已发布`状态 12 | 3. 满足告警策略,且该告警策略关联了告警模板 13 | 14 | ::: 15 | 16 | ## 告警组列表 17 | 18 | ![alert_group_list](http://pic.dinky.org.cn/dinky/docs/test/alert_group_list.png) 19 | 20 | ## 参数解读 21 | 22 | | 字段 | 说明 | 是否必填 | 默认值 | 示例 | 23 | |:-----:|:-----------------------------------:|:----:|:-----:|:--:| 24 | | 告警组名称 | 告警组名称 | 是 | 无 | 无 | 25 | | 告警实例 | 告警实例,可多选 | 是 | 无 | 无 | 26 | | 是否启用 | 已启用/已禁用
注意:引用状态下,数据开发任务无法关联此告警组 | 否 | false | 无 | 27 | | 备注 | 备注 | 否 | 无 | 无 | 28 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/cdcsource_practice/cdcsource_mysqlcdc2hivecatalog.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 11 3 | position: 11 4 | id: cdcsource_mysqlcdc2hivecatalog 5 | title: MySQLCDC 整库到 HiveCatalog 6 | --- 7 | 8 | 9 | 10 | 11 | 12 | ### 整库同步到 HiveCatalog 13 | 14 | ```sql showLineNumbers 15 | EXECUTE CDCSOURCE demo WITH ( 16 | 'connector' = 'mysql-cdc', 17 | 'hostname' = '127.0.0.1', 18 | 'port' = '3306', 19 | 'username' = 'root', 20 | 'password' = '123456', 21 | 'checkpoint' = '10000', 22 | 'scan.startup.mode' = 'initial', 23 | 'parallelism' = '1', 24 | 'table-name' = 'test\..*', 25 | 'sink.connector' = 'sql-catalog', 26 | 'sink.catalog.name' = 'hive', 27 | 'sink.catalog.type' = 'hive', 28 | 'sink.sink.db' = 'hdb', 29 | 'sink.catalog.hive-conf-dir' = '/usr/local/dlink/hive-conf' 30 | ); 31 | ``` -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/cdcsource_practice/cdcsource_mysqlcdc2hivecatalog.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 11 3 | position: 11 4 | id: cdcsource_mysqlcdc2hivecatalog 5 | title: MySQLCDC 整库到 HiveCatalog 6 | --- 7 | 8 | 9 | 10 | 11 | 12 | ### 整库同步到 HiveCatalog 13 | 14 | ```sql showLineNumbers 15 | EXECUTE CDCSOURCE demo WITH ( 16 | 'connector' = 'mysql-cdc', 17 | 'hostname' = '127.0.0.1', 18 | 'port' = '3306', 19 | 'username' = 'root', 20 | 'password' = '123456', 21 | 'checkpoint' = '10000', 22 | 'scan.startup.mode' = 'initial', 23 | 'parallelism' = '1', 24 | 'table-name' = 'test\..*', 25 | 'sink.connector' = 'sql-catalog', 26 | 'sink.catalog.name' = 'hive', 27 | 'sink.catalog.type' = 'hive', 28 | 'sink.sink.db' = 'hdb', 29 | 'sink.catalog.hive-conf-dir' = '/usr/local/dlink/hive-conf' 30 | ); 31 | ``` -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/register_center/alert/alert_group.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 3 3 | sidebar_position: 3 4 | id: alert_group 5 | title: 告警组 6 | --- 7 | 8 | :::warning 触发告警前提条件 9 | 10 | 1. 只适用于 `FlinkSQL,FlinkJar` 任务 11 | 2. 作业为`已发布`状态 12 | 3. 满足告警策略,且该告警策略关联了告警模板 13 | 14 | ::: 15 | 16 | ## 告警组列表 17 | 18 | ![alert_group_list](http://pic.dinky.org.cn/dinky/docs/test/alert_group_list.png) 19 | 20 | ## 参数解读 21 | 22 | | 字段 | 说明 | 是否必填 | 默认值 | 示例 | 23 | |:-----:|:-----------------------------------:|:----:|:-----:|:--:| 24 | | 告警组名称 | 告警组名称 | 是 | 无 | 无 | 25 | | 告警实例 | 告警实例,可多选 | 是 | 无 | 无 | 26 | | 是否启用 | 已启用/已禁用
注意:引用状态下,数据开发任务无法关联此告警组 | 否 | false | 无 | 27 | | 备注 | 备注 | 否 | 无 | 无 | 28 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/register_center/alert/alert_group.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 3 3 | sidebar_position: 3 4 | id: alert_group 5 | title: 告警组 6 | --- 7 | 8 | :::warning 触发告警前提条件 9 | 10 | 1. 只适用于 `FlinkSQL,FlinkJar` 任务 11 | 2. 作业为`已发布`状态 12 | 3. 满足告警策略,且该告警策略关联了告警模板 13 | 14 | ::: 15 | 16 | ## 告警组列表 17 | 18 | ![alert_group_list](http://pic.dinky.org.cn/dinky/docs/test/alert_group_list.png) 19 | 20 | ## 参数解读 21 | 22 | | 字段 | 说明 | 是否必填 | 默认值 | 示例 | 23 | |:-----:|:-----------------------------------:|:----:|:-----:|:--:| 24 | | 告警组名称 | 告警组名称 | 是 | 无 | 无 | 25 | | 告警实例 | 告警实例,可多选 | 是 | 无 | 无 | 26 | | 是否启用 | 已启用/已禁用
注意:引用状态下,数据开发任务无法关联此告警组 | 否 | false | 无 | 27 | | 备注 | 备注 | 否 | 无 | 无 | 28 | -------------------------------------------------------------------------------- /docs/docs/extend/function_expansion/global_var_ext.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 9 3 | id: global_var_ext 4 | title: 表达式变量扩展 5 | --- 6 | 7 | :::tip 8 | 9 | 本扩展文档适用于 v1.0.1 以上版本,可以直接在已部署服务中直接扩展,无需重新编译部署 10 | ::: 11 | 12 | ## 介绍 13 | 14 | > 本扩展用于扩展表达式中的变量,以满足更多场景需求 15 | 16 | 17 | ## 扩展方法 18 | 19 | 1. 启动 Dinky 服务,如已启动则无需重启 20 | 2. 登录 Dinky 21 | 3. 点击 `配置中心` -> `全局配置` -> `Dinky 环境配置` -> `表达式变量列表` 22 | 4. 点击右侧`修改按钮` 23 | 5. 在输入框内输入您需要扩展的类的全限定名,多个类之间用逗号分隔 24 | 6. 点击 `保存` 25 | 26 | 举例: 27 | 28 | > 假设需要扩展 [`Hash 算法`](https://doc.hutool.cn/pages/HashUtil/) 相关的表达式变量 29 | 30 | 只需要在 上述步骤中的 `5` 中追加类的全限定名即可,注意逗号分隔 31 | ```text 32 | 33 | cn.hutool.core.util.HashUtil 34 | 35 | ``` 36 | 如上示例,将会扩展表达式变量中的 `Hash 算法`,你就可以在表达式中使用 `Hash 算法` 相关的表达式了 37 | 38 | :::tip 说明 39 | 1. 请确保您的扩展类在 `dinky 中已被加载(类加载机制)` 40 | 2. 请确保您的扩展类中的方法为 `public static` 修饰 41 | 3. 请确保您的扩展列表一定按照逗号分隔 42 | 43 | ::: -------------------------------------------------------------------------------- /docs/docs/user_guide/auth_center/row_limits.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 4 3 | sidebar_position: 4 4 | id: row_limits 5 | title: 行权限 6 | --- 7 | 8 | :::info 简介 9 | 10 | 行权限场景主要是为了解决角色场景下,不同角色之间的数据隔离问题。通过添加“行权限”规则,可使指定范围的角色和用户仅能查看指定范围的行数据。 11 | ::: 12 | 13 | 通过添加“行权限”规则,可使指定范围的角色和用户仅能查看指定范围的行数据。例如用户 A 仅能查看数据集“ '班级'字段=高二 ”的数据。但是只在只在flinksql中生效。 14 | 15 | ![row_limits_add](http://pic.dinky.org.cn/dinky/docs/test/row_limits_add.png) 16 | 17 | 如上图所示,表名为flink中的表名,表达式只需要填where后的语句即可。 18 | 19 | 20 | 21 | ## 实现原理 22 | 23 | 本功能基于 [FlinkSQL的行级权限解决方案](https://github.com/HamaWhiteGG/flink-sql-security/blob/dev/docs/row-filter/README.md) 实现,具体原理如下: 24 | 25 | 1. 在检查提交时系统会解析传入的 SQL,获取 InputTable 和 OutputTable 两个数据集。 26 | 2. 系统通过对远端权限服务的查询,获取该用户下绑定的 RBAC 权限。 27 | 3. 根据获取到的 RBAC 权限,系统会得到对应的表的权限信息。 28 | 4. 系统将通过重写 SQL,将原本 SQL 查询字段的过滤条件 追加到 WHERE 条件中,从而实现数据的过滤。 29 | 5. 重写后的 SQL 会被提交到 Flink 作业中执行。 30 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/extend/function_expansion/global_var_ext.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 9 3 | id: global_var_ext 4 | title: 表达式变量扩展 5 | --- 6 | 7 | :::tip 8 | 9 | 本扩展文档适用于 v1.0.1 以上版本,可以直接在已部署服务中直接扩展,无需重新编译部署 10 | ::: 11 | 12 | ## 介绍 13 | 14 | > 本扩展用于扩展表达式中的变量,以满足更多场景需求 15 | 16 | 17 | ## 扩展方法 18 | 19 | 1. 启动 Dinky 服务,如已启动则无需重启 20 | 2. 登录 Dinky 21 | 3. 点击 `配置中心` -> `全局配置` -> `Dinky 环境配置` -> `表达式变量列表` 22 | 4. 点击右侧`修改按钮` 23 | 5. 在输入框内输入您需要扩展的类的全限定名,多个类之间用逗号分隔 24 | 6. 点击 `保存` 25 | 26 | 举例: 27 | 28 | > 假设需要扩展 [`Hash 算法`](https://doc.hutool.cn/pages/HashUtil/) 相关的表达式变量 29 | 30 | 只需要在 上述步骤中的 `5` 中追加类的全限定名即可,注意逗号分隔 31 | ```text 32 | 33 | cn.hutool.core.util.HashUtil 34 | 35 | ``` 36 | 如上示例,将会扩展表达式变量中的 `Hash 算法`,你就可以在表达式中使用 `Hash 算法` 相关的表达式了 37 | 38 | :::tip 说明 39 | 1. 请确保您的扩展类在 `dinky 中已被加载(类加载机制)` 40 | 2. 请确保您的扩展类中的方法为 `public static` 修饰 41 | 3. 请确保您的扩展列表一定按照逗号分隔 42 | 43 | ::: -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/extend/function_expansion/global_var_ext.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 9 3 | id: global_var_ext 4 | title: 表达式变量扩展 5 | --- 6 | 7 | :::tip 8 | 9 | 本扩展文档适用于 v1.0.1 以上版本,可以直接在已部署服务中直接扩展,无需重新编译部署 10 | ::: 11 | 12 | ## 介绍 13 | 14 | > 本扩展用于扩展表达式中的变量,以满足更多场景需求 15 | 16 | 17 | ## 扩展方法 18 | 19 | 1. 启动 Dinky 服务,如已启动则无需重启 20 | 2. 登录 Dinky 21 | 3. 点击 `配置中心` -> `全局配置` -> `Dinky 环境配置` -> `表达式变量列表` 22 | 4. 点击右侧`修改按钮` 23 | 5. 在输入框内输入您需要扩展的类的全限定名,多个类之间用逗号分隔 24 | 6. 点击 `保存` 25 | 26 | 举例: 27 | 28 | > 假设需要扩展 [`Hash 算法`](https://doc.hutool.cn/pages/HashUtil/) 相关的表达式变量 29 | 30 | 只需要在 上述步骤中的 `5` 中追加类的全限定名即可,注意逗号分隔 31 | ```text 32 | 33 | cn.hutool.core.util.HashUtil 34 | 35 | ``` 36 | 如上示例,将会扩展表达式变量中的 `Hash 算法`,你就可以在表达式中使用 `Hash 算法` 相关的表达式了 37 | 38 | :::tip 说明 39 | 1. 请确保您的扩展类在 `dinky 中已被加载(类加载机制)` 40 | 2. 请确保您的扩展类中的方法为 `public static` 修饰 41 | 3. 请确保您的扩展列表一定按照逗号分隔 42 | 43 | ::: -------------------------------------------------------------------------------- /docs/docs/user_guide/register_center/udf.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 7 3 | sidebar_position: 7 4 | id: udf 5 | title: UDF 6 | --- 7 | 8 | :::info 简介 9 | Dinky 在 v1.0.0 版本开始,提供了 UDF 管理的功能,可以在 Dinky 中管理 自定义的UDF,方便的进行作业所使用的UDF 管理。 10 | ::: 11 | 12 | 13 | ## UDF 注册管理 14 | 15 | > 在 Git 项目中管理的 UDF 项目经过构建后,会自动将产物推动至 [资源中心](./resource) 的 udf 节点下集中管理 16 | 17 | 在新增时 可以直接拉取 [资源中心](./resource) 中的 UDF 产物进行添加, 实现解析 UDF 具体的函数信息,并提供方可修改函数名功能 18 | 19 | ![udf_register_list](http://pic.dinky.org.cn/dinky/docs/test/udf_register_list.png) 20 | 21 | **注意:** 此方法没有实现自动注册给Flink 集群,后续实现在数据开发中自动解析补全UDF函数名称,并自动生成注册函数的 Flink 语句 22 | 23 | 24 | 25 | ## UDF 模板管理 26 | 27 | > 可以在该功能中管理常用的 UDF 模板,方便的进行 UDF 函数的开发,避免重复的编写模板代码 28 | 29 | :::warning 注意 30 | 1. 删除模版时会进行引用检查,如果有作业引用该模版,将无法删除 31 | ::: 32 | 33 | - 支持 scala/java/python 三种语言的模板管理 34 | 35 | ![udf_template_list](http://pic.dinky.org.cn/dinky/docs/test/udf_template_list.png) 36 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/auth_center/row_limits.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 4 3 | sidebar_position: 4 4 | id: row_limits 5 | title: 行权限 6 | --- 7 | 8 | :::info 简介 9 | 10 | 行权限场景主要是为了解决角色场景下,不同角色之间的数据隔离问题。通过添加“行权限”规则,可使指定范围的角色和用户仅能查看指定范围的行数据。 11 | ::: 12 | 13 | 通过添加“行权限”规则,可使指定范围的角色和用户仅能查看指定范围的行数据。例如用户 A 仅能查看数据集“ '班级'字段=高二 ”的数据。但是只在只在flinksql中生效。 14 | 15 | ![row_limits_add](http://pic.dinky.org.cn/dinky/docs/test/row_limits_add.png) 16 | 17 | 如上图所示,表名为flink中的表名,表达式只需要填where后的语句即可。 18 | 19 | 20 | 21 | ## 实现原理 22 | 23 | 本功能基于 [FlinkSQL的行级权限解决方案](https://github.com/HamaWhiteGG/flink-sql-security/blob/dev/docs/row-filter/README.md) 实现,具体原理如下: 24 | 25 | 1. 在检查提交时系统会解析传入的 SQL,获取 InputTable 和 OutputTable 两个数据集。 26 | 2. 系统通过对远端权限服务的查询,获取该用户下绑定的 RBAC 权限。 27 | 3. 根据获取到的 RBAC 权限,系统会得到对应的表的权限信息。 28 | 4. 系统将通过重写 SQL,将原本 SQL 查询字段的过滤条件 追加到 WHERE 条件中,从而实现数据的过滤。 29 | 5. 重写后的 SQL 会被提交到 Flink 作业中执行。 30 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/auth_center/row_limits.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 4 3 | sidebar_position: 4 4 | id: row_limits 5 | title: 行权限 6 | --- 7 | 8 | :::info 简介 9 | 10 | 行权限场景主要是为了解决角色场景下,不同角色之间的数据隔离问题。通过添加“行权限”规则,可使指定范围的角色和用户仅能查看指定范围的行数据。 11 | ::: 12 | 13 | 通过添加“行权限”规则,可使指定范围的角色和用户仅能查看指定范围的行数据。例如用户 A 仅能查看数据集“ '班级'字段=高二 ”的数据。但是只在只在flinksql中生效。 14 | 15 | ![row_limits_add](http://pic.dinky.org.cn/dinky/docs/test/row_limits_add.png) 16 | 17 | 如上图所示,表名为flink中的表名,表达式只需要填where后的语句即可。 18 | 19 | 20 | 21 | ## 实现原理 22 | 23 | 本功能基于 [FlinkSQL的行级权限解决方案](https://github.com/HamaWhiteGG/flink-sql-security/blob/dev/docs/row-filter/README.md) 实现,具体原理如下: 24 | 25 | 1. 在检查提交时系统会解析传入的 SQL,获取 InputTable 和 OutputTable 两个数据集。 26 | 2. 系统通过对远端权限服务的查询,获取该用户下绑定的 RBAC 权限。 27 | 3. 根据获取到的 RBAC 权限,系统会得到对应的表的权限信息。 28 | 4. 系统将通过重写 SQL,将原本 SQL 查询字段的过滤条件 追加到 WHERE 条件中,从而实现数据的过滤。 29 | 5. 重写后的 SQL 会被提交到 Flink 作业中执行。 30 | -------------------------------------------------------------------------------- /deploy/docker/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.9" 2 | 3 | services: 4 | dinky: 5 | image: "dinkydocker/dinky-standalone-server:${DINKY_VERSION}-flink${FLINK_VERSION}" 6 | ports: 7 | - "8888:8888" 8 | env_file: .env 9 | networks: 10 | - dinky 11 | volumes: 12 | - ${CUSTOM_JAR_PATH}:/opt/dinky/customJar/ 13 | 14 | jobmanager: 15 | image: flink:${FLINK_VERSION}-scala_2.12-java8 16 | ports: 17 | - "8081:8081" 18 | command: jobmanager 19 | env_file: .env 20 | volumes: 21 | - ${CUSTOM_JAR_PATH}:/opt/flink/lib/customJar/ 22 | networks: 23 | - dinky 24 | 25 | taskmanager: 26 | image: flink:${FLINK_VERSION}-scala_2.12-java8 27 | command: taskmanager 28 | env_file: .env 29 | volumes: 30 | - ${CUSTOM_JAR_PATH}:/opt/flink/lib/customJar/ 31 | networks: 32 | - dinky 33 | 34 | networks: 35 | dinky: 36 | -------------------------------------------------------------------------------- /dinky-web/src/pages/DataStudio/index.less: -------------------------------------------------------------------------------- 1 | .my-panel-extra-btn { 2 | cursor: pointer; 3 | font-family: 微软雅黑, serif; 4 | color: var(--panel-extra-btn-color); 5 | display: inline-block; 6 | width: 18px; 7 | height: 24px; 8 | margin-right: 3px; 9 | text-align: center; 10 | opacity: 0.3; 11 | transition: all 0.25s ease-in-out; 12 | line-height: 30px; 13 | } 14 | 15 | .my-panel-extra-btn:hover { 16 | opacity: 1; 17 | } 18 | 19 | .btn { 20 | margin: 1px 5px; 21 | padding: 1px 5px; 22 | } 23 | 24 | .dock-style-show { 25 | display: block; 26 | } 27 | 28 | .dock-style-hide { 29 | display: none; 30 | } 31 | 32 | // 设置分隔面板线的宽度和长度 33 | .dock-hbox > .dock-divider { 34 | flex: 0 0 1px; 35 | } 36 | .dock-vbox > .dock-divider { 37 | flex: 0 0 1px; 38 | } 39 | 40 | // keep-alive div设置成满屏 41 | .ka-wrapper { 42 | height: 100%; 43 | } 44 | .ka-content { 45 | height: 100%; 46 | } 47 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/flink_sql_development_guide/ddl_statement/alter_statements.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | id: alter_statements 4 | title: ALTER 语句 5 | --- 6 | 7 | ALTER 语句用于修改 Catalog 中已注册的表/视图/函数定义。 8 | 9 | FlinkSQL 支持如下 ALTER 语句 10 | 11 | - ALTER TABLE 12 | - ALTER VIEW 13 | - ALTER FUNCTION 14 | 15 | ## ALTER TABLE 16 | 17 | 将给定的表名重命名为另一个新的表名。 18 | 19 | ```sql 20 | ALTER TABLE [catalog_name.][db_name.]table_name RENAME TO new_table_name; 21 | ``` 22 | 23 | ## ALTER VIEW 24 | 25 | 将给定视图重命名为同一目录和数据库中的新名称。 26 | 27 | ```sql 28 | ALTER VIEW [catalog_name.][db_name.]view_name RENAME TO new_view_name; 29 | ``` 30 | 31 | ## ALTER FUNCTION 32 | 33 | 使用新的标识符和可选的语言标记更改目录函数。如果目录中不存在函数,则引发异常。 34 | 35 | ```sql 36 | ALTER [TEMPORARY|TEMPORARY SYSTEM] FUNCTION 37 | [IF EXISTS] [catalog_name.][db_name.]function_name 38 | AS '函数类全名' [LANGUAGE JAVA|SCALA|Python] 39 | ``` 40 | 41 | -------------------------------------------------------------------------------- /docs/docs/deploy_guide/upgrade/upgrade_overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | position: 1 4 | id: upgrade_overview 5 | title: 版本升级介绍 6 | --- 7 | 8 | :::caution 注意 9 | 1. 自 Dinky 0.7.5 开始进行升级教程, 后续版本更新将在此文档及子文档中进行更新。 10 | 2. 所有版本的升级 SQL 在部署目录下的 sql/upgrade 目录下, 升级 SQL 按照版本号进行排序, 升级 SQL 目录命名规则为 0.7.5_schema/mysql 11 | 3. 自 Dinky v1.0.0 开始支持 PostgresSQL,作为后端数据存储库实现, 升级 SQL 目录命名规则为 1.0.0_schema/postgresql 12 | 4. 注意: Dinky v1.0.0 刚支持 PostgresSQL,此数据库类型不存在升级脚本,直接执行`sql/dinky-pg.sql`即可) 13 | 5. 升级时请注意,先执行 `{version}_schema/mysql`/`{version}_schema/postgresql` 下的 `dinky_ddl.sql`,再执行 `{version}_schema/mysql`/`{version}_schema/postgresql` 下的 `dinky_dml.sql` 14 | 6. 请自行参考对应版本的升级文档.切记如果**连续**版本中含有表结构变更,**不可跨版本升级** 15 | ::: 16 | 17 | ### 版本升级列表 18 | 19 | - [0.7.5 升级到 1.0.0](upgrade_075to100) 20 | - 1.0.0 升级到 1.0.1 无表结构变化,可以直接重新部署进行升级 21 | - [1.0.1 升级到 1.0.2](upgrade_101to102) 22 | - 1.0.2 升级到 1.0.3 无表结构变化,可以直接重新部署进行升级 -------------------------------------------------------------------------------- /style/license_header: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/register_center/udf.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 7 3 | sidebar_position: 7 4 | id: udf 5 | title: UDF 6 | --- 7 | 8 | :::info 简介 9 | Dinky 在 v1.0.0 版本开始,提供了 UDF 管理的功能,可以在 Dinky 中管理 自定义的UDF,方便的进行作业所使用的UDF 管理。 10 | ::: 11 | 12 | 13 | ## UDF 注册管理 14 | 15 | > 在 Git 项目中管理的 UDF 项目经过构建后,会自动将产物推动至 [资源中心](./resource) 的 udf 节点下集中管理 16 | 17 | 在新增时 可以直接拉取 [资源中心](./resource) 中的 UDF 产物进行添加, 实现解析 UDF 具体的函数信息,并提供方可修改函数名功能 18 | 19 | ![udf_register_list](http://pic.dinky.org.cn/dinky/docs/test/udf_register_list.png) 20 | 21 | **注意:** 此方法没有实现自动注册给Flink 集群,后续实现在数据开发中自动解析补全UDF函数名称,并自动生成注册函数的 Flink 语句 22 | 23 | 24 | 25 | ## UDF 模板管理 26 | 27 | > 可以在该功能中管理常用的 UDF 模板,方便的进行 UDF 函数的开发,避免重复的编写模板代码 28 | 29 | :::warning 注意 30 | 1. 删除模版时会进行引用检查,如果有作业引用该模版,将无法删除 31 | ::: 32 | 33 | - 支持 scala/java/python 三种语言的模板管理 34 | 35 | ![udf_template_list](http://pic.dinky.org.cn/dinky/docs/test/udf_template_list.png) 36 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/register_center/udf.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 7 3 | sidebar_position: 7 4 | id: udf 5 | title: UDF 6 | --- 7 | 8 | :::info 简介 9 | Dinky 在 v1.0.0 版本开始,提供了 UDF 管理的功能,可以在 Dinky 中管理 自定义的UDF,方便的进行作业所使用的UDF 管理。 10 | ::: 11 | 12 | 13 | ## UDF 注册管理 14 | 15 | > 在 Git 项目中管理的 UDF 项目经过构建后,会自动将产物推动至 [资源中心](./resource) 的 udf 节点下集中管理 16 | 17 | 在新增时 可以直接拉取 [资源中心](./resource) 中的 UDF 产物进行添加, 实现解析 UDF 具体的函数信息,并提供方可修改函数名功能 18 | 19 | ![udf_register_list](http://pic.dinky.org.cn/dinky/docs/test/udf_register_list.png) 20 | 21 | **注意:** 此方法没有实现自动注册给Flink 集群,后续实现在数据开发中自动解析补全UDF函数名称,并自动生成注册函数的 Flink 语句 22 | 23 | 24 | 25 | ## UDF 模板管理 26 | 27 | > 可以在该功能中管理常用的 UDF 模板,方便的进行 UDF 函数的开发,避免重复的编写模板代码 28 | 29 | :::warning 注意 30 | 1. 删除模版时会进行引用检查,如果有作业引用该模版,将无法删除 31 | ::: 32 | 33 | - 支持 scala/java/python 三种语言的模板管理 34 | 35 | ![udf_template_list](http://pic.dinky.org.cn/dinky/docs/test/udf_template_list.png) 36 | -------------------------------------------------------------------------------- /docs/static/img/easy_of_deploy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/flink_sql_development_guide/dml_statements/insert_statements.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | id: insert_statements 4 | title: INSERT 语句 5 | --- 6 | 7 | INSERT INTO 语句必须和 SELECT 子查询联用,SELECT 的数据会写入到指定目标表(Table Sink)中。 8 | 9 | ## 语法结构 10 | 11 | ```sql 12 | INSERT { INTO | OVERWRITE } [catalog_name.][db_name.]table_name [PARTITION part_spec] [column_list] SELECT 语句 13 | ``` 14 | 15 | ## 示例 16 | 17 | ```sql 18 | -- INTO 19 | INSERT INTO page_kafka_sink 20 | SELECT user, cnt, country FROM mysql_source; 21 | 22 | -- Overwrites 23 | INSERT OVERWRITE hive_page PARTITION (date='2019-8-30', country='China') 24 | SELECT user, cnt FROM mysql_source; 25 | ``` 26 | 27 | 28 | 29 | :::warning 注意事项 30 | 31 | - 如果在 WITH 参数里指定了某个 Sink,那么请务必自行上传相应的 Connector 程序包 32 | - 对于读写 Kafka 的场景,推荐使用不带版本号的 `flink-connector-kafka`程序包,并将 `connector.version`参数设置为 `universal`,以获得最新的功能适配。**不建议**使用旧版本 33 | 34 | ::: 35 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/deploy_guide/upgrade/upgrade_overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | position: 1 4 | id: upgrade_overview 5 | title: 版本升级介绍 6 | --- 7 | 8 | :::caution 注意 9 | 1. 自 Dinky 0.7.5 开始进行升级教程, 后续版本更新将在此文档及子文档中进行更新。 10 | 2. 所有版本的升级 SQL 在部署目录下的 sql/upgrade 目录下, 升级 SQL 按照版本号进行排序, 升级 SQL 目录命名规则为 0.7.5_schema/mysql 11 | 3. 自 Dinky v1.0.0 开始支持 PostgresSQL,作为后端数据存储库实现, 升级 SQL 目录命名规则为 1.0.0_schema/postgresql 12 | 4. 注意: Dinky v1.0.0 刚支持 PostgresSQL,此数据库类型不存在升级脚本,直接执行`sql/dinky-pg.sql`即可) 13 | 5. 升级时请注意,先执行 `{version}_schema/mysql`/`{version}_schema/postgresql` 下的 `dinky_ddl.sql`,再执行 `{version}_schema/mysql`/`{version}_schema/postgresql` 下的 `dinky_dml.sql` 14 | 6. 请自行参考对应版本的升级文档.切记如果**连续**版本中含有表结构变更,**不可跨版本升级** 15 | ::: 16 | 17 | ### 版本升级列表 18 | 19 | - [0.7.5 升级到 1.0.0](upgrade_075to100) 20 | - 1.0.0 升级到 1.0.1 无表结构变化,可以直接重新部署进行升级 21 | - [1.0.1 升级到 1.0.2](upgrade_101to102) 22 | - 1.0.2 升级到 1.0.3 无表结构变化,可以直接重新部署进行升级 -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/deploy_guide/upgrade/upgrade_overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | position: 1 4 | id: upgrade_overview 5 | title: 版本升级介绍 6 | --- 7 | 8 | :::caution 注意 9 | 1. 自 Dinky 0.7.5 开始进行升级教程, 后续版本更新将在此文档及子文档中进行更新。 10 | 2. 所有版本的升级 SQL 在部署目录下的 sql/upgrade 目录下, 升级 SQL 按照版本号进行排序, 升级 SQL 目录命名规则为 0.7.5_schema/mysql 11 | 3. 自 Dinky v1.0.0 开始支持 PostgresSQL,作为后端数据存储库实现, 升级 SQL 目录命名规则为 1.0.0_schema/postgresql 12 | 4. 注意: Dinky v1.0.0 刚支持 PostgresSQL,此数据库类型不存在升级脚本,直接执行`sql/dinky-pg.sql`即可) 13 | 5. 升级时请注意,先执行 `{version}_schema/mysql`/`{version}_schema/postgresql` 下的 `dinky_ddl.sql`,再执行 `{version}_schema/mysql`/`{version}_schema/postgresql` 下的 `dinky_dml.sql` 14 | 6. 请自行参考对应版本的升级文档.切记如果**连续**版本中含有表结构变更,**不可跨版本升级** 15 | ::: 16 | 17 | ### 版本升级列表 18 | 19 | - [0.7.5 升级到 1.0.0](upgrade_075to100) 20 | - 1.0.0 升级到 1.0.1 无表结构变化,可以直接重新部署进行升级 21 | - [1.0.1 升级到 1.0.2](upgrade_101to102) 22 | - 1.0.2 升级到 1.0.3 无表结构变化,可以直接重新部署进行升级 -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/json/openapi_explainsql.json: -------------------------------------------------------------------------------- 1 | /* http://127.0.0.1:8888/openapi/explainSql */ 2 | { 3 | /* required-start */ 4 | "statement":"CREATE TABLE Orders (\r\n order_number INT,\r\n price DECIMAL(32,2),\r\n order_time TIMESTAMP(3)\r\n) WITH (\r\n 'connector' = 'datagen',\r\n 'rows-per-second' = '1',\r\n 'fields.order_number.kind' = 'sequence',\r\n 'fields.order_number.start' = '1',\r\n 'fields.order_number.end' = '1000'\r\n);\r\nCREATE TABLE pt (\r\nordertotal INT,\r\nnumtotal INT\r\n) WITH (\r\n 'connector' = 'print'\r\n);\r\ninsert into pt select 1 as ordertotal ,sum(order_number)*2 as numtotal from Orders", 5 | /* required-end */ 6 | /* default-start */ 7 | "useStatementSet":false, 8 | "fragment":false, 9 | "parallelism":1, 10 | /* default-start */ 11 | /* custom-start */ 12 | "configuration":{ 13 | "table.exec.resource.default-parallelism":2 14 | } 15 | /* custom-end */ 16 | } -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/json/openapi_getjobplan.json: -------------------------------------------------------------------------------- 1 | /* http://127.0.0.1:8888/openapi/getJobPlan */ 2 | { 3 | /* required-start */ 4 | "statement":"CREATE TABLE Orders (\r\n order_number INT,\r\n price DECIMAL(32,2),\r\n order_time TIMESTAMP(3)\r\n) WITH (\r\n 'connector' = 'datagen',\r\n 'rows-per-second' = '1',\r\n 'fields.order_number.kind' = 'sequence',\r\n 'fields.order_number.start' = '1',\r\n 'fields.order_number.end' = '1000'\r\n);\r\nCREATE TABLE pt (\r\nordertotal INT,\r\nnumtotal INT\r\n) WITH (\r\n 'connector' = 'print'\r\n);\r\ninsert into pt select 1 as ordertotal ,sum(order_number)*2 as numtotal from Orders", 5 | /* required-end */ 6 | /* default-start */ 7 | "useStatementSet":false, 8 | "fragment":false, 9 | "parallelism":1, 10 | /* default-start */ 11 | /* custom-start */ 12 | "configuration":{ 13 | "table.exec.resource.default-parallelism":2 14 | } 15 | /* custom-end */ 16 | } -------------------------------------------------------------------------------- /e2e_test/docker-compose-env/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG FLINK_VERSION 2 | 3 | FROM flink:${FLINK_VERSION}-scala_2.12-java8 as flink-base 4 | 5 | 6 | FROM eclipse-temurin:8-jre-jammy 7 | 8 | ARG FLINK_VERSION 9 | ENV FLINK_VERSION=${FLINK_VERSION} 10 | ENV DINKY_HOME=/opt/dinky/ 11 | ENV H2_DB=./tmp/db/h2 12 | ADD build/dinky-release*.tar.gz /opt 13 | RUN ls /opt && mv /opt/dinky-release* /opt/dinky 14 | 15 | 16 | WORKDIR /opt/dinky/ 17 | 18 | USER root 19 | COPY --from=flink-base /opt/flink/lib/*.jar /opt/dinky/extends/flink${FLINK_VERSION}/flink/ 20 | 21 | COPY --from=flink-base /opt/flink/opt/flink-table-planner*.jar /opt/dinky/extends/flink${FLINK_VERSION}/flink/ 22 | 23 | RUN mkdir /opt/dinky/customJar && chmod -R 777 /opt/dinky/ && sed -i 's/-Xms512M -Xmx2048M -XX:PermSize=512M/-XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0/g' ./bin/auto.sh 24 | 25 | EXPOSE 8888 26 | 27 | CMD ./bin/auto.sh startOnPending 28 | -------------------------------------------------------------------------------- /e2e_test/docker-compose-env/dinky/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | networks: 3 | dinky_net: 4 | external: true 5 | services: 6 | dinky: 7 | container_name: dinky 8 | restart: always 9 | image: localhost:5000/dinky/dinky-test:flink 10 | environment: 11 | - DB_ACTIVE=mysql 12 | - MYSQL_ADDR=mysql:3306 13 | - MYSQL_DATABASE=dinky 14 | - MYSQL_USERNAME=root 15 | - MYSQL_PASSWORD=dinky 16 | volumes: 17 | - ./mysql-connector-java-8.0.30.jar:/opt/dinky/lib/mysql-connector-java-8.0.30.jar 18 | - ./javax.ws.rs-api-2.1.1.jar:/opt/dinky/lib/javax.ws.rs-api-2.1.1.jar 19 | - ../flink/flink-shaded-hadoop-2-uber-2.8.3-10.0.jar:/opt/dinky/lib/flink-shaded-hadoop-2-uber-2.8.3-10.0.jar 20 | - ../flink/conf/log4j-console.properties:/opt/flink/conf/log4j-console.properties 21 | - ../hadoop:/opt/flink/conf 22 | - ./jars:/dinky 23 | networks: 24 | - dinky_net 25 | -------------------------------------------------------------------------------- /deploy/docker/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG FLINK_VERSION 2 | ARG DINKY_VERSION 3 | 4 | FROM flink:${FLINK_VERSION}-scala_2.12-java8 5 | RUN cp /opt/flink/opt/flink-python*.jar /opt/flink/lib/ && cp /opt/flink/opt/flink-table-planner*.jar /opt/flink/lib/ 2>/dev/null || : 6 | ARG FLINK_VERSION 7 | ENV FLINK_VERSION=${FLINK_VERSION} 8 | ENV DINKY_HOME=/opt/dinky/ 9 | ENV H2_DB=./tmp/db/h2 10 | 11 | 12 | USER root 13 | 14 | ADD build/dinky-release*.tar.gz /opt 15 | RUN mv /opt/dinky-release* /opt/dinky && ln -s /opt/flink/lib/* /opt/dinky/extends/flink${FLINK_VERSION}/ && mkdir /opt/dinky/config/static 16 | ADD build/dist/ /opt/dinky/config/static 17 | 18 | WORKDIR /opt/dinky/ 19 | 20 | 21 | RUN mkdir /opt/dinky/customJar && chmod -R 777 /opt/dinky/ && sed -i 's/-Xms512M -Xmx2048M -XX:PermSize=512M/-XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0/g' ./bin/auto.sh 22 | 23 | EXPOSE 8888 24 | 25 | CMD ./bin/auto.sh startOnPending 26 | -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/json/openapi_getstreamgraph.json: -------------------------------------------------------------------------------- 1 | /* http://127.0.0.1:8888/openapi/getStreamGraph */ 2 | { 3 | /* required-start */ 4 | "statement":"CREATE TABLE Orders (\r\n order_number INT,\r\n price DECIMAL(32,2),\r\n order_time TIMESTAMP(3)\r\n) WITH (\r\n 'connector' = 'datagen',\r\n 'rows-per-second' = '1',\r\n 'fields.order_number.kind' = 'sequence',\r\n 'fields.order_number.start' = '1',\r\n 'fields.order_number.end' = '1000'\r\n);\r\nCREATE TABLE pt (\r\nordertotal INT,\r\nnumtotal INT\r\n) WITH (\r\n 'connector' = 'print'\r\n);\r\ninsert into pt select 1 as ordertotal ,sum(order_number)*2 as numtotal from Orders", 5 | /* required-end */ 6 | /* default-start */ 7 | "useStatementSet":false, 8 | "fragment":false, 9 | "parallelism":1, 10 | /* default-start */ 11 | /* custom-start */ 12 | "configuration":{ 13 | "table.exec.resource.default-parallelism":2 14 | } 15 | /* custom-end */ 16 | } -------------------------------------------------------------------------------- /dinky-web/src/types/Home/state.d.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | export type Nothing = {}; 21 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/auth_center/role.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 2 3 | sidebar_position: 2 4 | id: role 5 | title: 角色 6 | --- 7 | 8 | :::info 简介 9 | 角色模块提供了角色的新增、编辑及角色菜单的分配等功能。 10 | 11 | 系统初始化时,默认创建了一个超级管理员角色,角色编码为: `SuperAdmin`, 角色名称为: `SuperAdmin`, 该角色拥有系统所有权限, 无法删除。 12 | 13 | 此功能建议由系统管理员操作,不建议将此功能开放给普通用户. 14 | 15 | 注意: 目前分配完成菜单权限后, 需要该角色下的用户重新登录, 才能生效。 16 | ::: 17 | 18 | 19 | 20 | ### 新建 21 | 点击新建按钮,输入角色编码、角色名称等相关信息,完成角色的新建。 22 | 23 | **认证中心 > 角色 > 新建** 24 | 25 | ![role_add](http://pic.dinky.org.cn/dinky/docs/test/role_add.png) 26 | 27 | ### 编辑 28 | 点击编辑按钮,进行角色信息的修改操作。 29 | 30 | **认证中心 > 角色 > 编辑** 31 | 32 | ![role_edit](http://pic.dinky.org.cn/dinky/docs/test/role_edit.png) 33 | 34 | ### 分配菜单 35 | 点击分配菜单按钮,可以对角色的菜单权限进行分配。 36 | 37 | **认证中心 > 角色 > 分配角色** 38 | 39 | ![role_distribute](http://pic.dinky.org.cn/dinky/docs/test/role_distribute.png) 40 | 41 | :::tip 提示 42 | 1. 分配完成后,需要用户重新登录才能生效。 43 | 2. 点击`角色编码`可以查看角色下的用户。 44 | ::: -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/auth_center/role.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 2 3 | sidebar_position: 2 4 | id: role 5 | title: 角色 6 | --- 7 | 8 | :::info 简介 9 | 角色模块提供了角色的新增、编辑及角色菜单的分配等功能。 10 | 11 | 系统初始化时,默认创建了一个超级管理员角色,角色编码为: `SuperAdmin`, 角色名称为: `SuperAdmin`, 该角色拥有系统所有权限, 无法删除。 12 | 13 | 此功能建议由系统管理员操作,不建议将此功能开放给普通用户. 14 | 15 | 注意: 目前分配完成菜单权限后, 需要该角色下的用户重新登录, 才能生效。 16 | ::: 17 | 18 | 19 | 20 | ### 新建 21 | 点击新建按钮,输入角色编码、角色名称等相关信息,完成角色的新建。 22 | 23 | **认证中心 > 角色 > 新建** 24 | 25 | ![role_add](http://pic.dinky.org.cn/dinky/docs/test/role_add.png) 26 | 27 | ### 编辑 28 | 点击编辑按钮,进行角色信息的修改操作。 29 | 30 | **认证中心 > 角色 > 编辑** 31 | 32 | ![role_edit](http://pic.dinky.org.cn/dinky/docs/test/role_edit.png) 33 | 34 | ### 分配菜单 35 | 点击分配菜单按钮,可以对角色的菜单权限进行分配。 36 | 37 | **认证中心 > 角色 > 分配角色** 38 | 39 | ![role_distribute](http://pic.dinky.org.cn/dinky/docs/test/role_distribute.png) 40 | 41 | :::tip 提示 42 | 1. 分配完成后,需要用户重新登录才能生效。 43 | 2. 点击`角色编码`可以查看角色下的用户。 44 | ::: -------------------------------------------------------------------------------- /dinky-alert/dinky-alert-http/src/main/resources/META-INF/services/org.dinky.alert.Alert: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | org.dinky.alert.http.HttpAlert -------------------------------------------------------------------------------- /dinky-alert/dinky-alert-sms/src/main/resources/META-INF/services/org.dinky.alert.Alert: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | org.dinky.alert.sms.SmsAlert -------------------------------------------------------------------------------- /dinky-admin/src/main/resources/json/openapi_executeJar_application.json: -------------------------------------------------------------------------------- 1 | /* http://127.0.0.1:8888/openapi/executeJar */ 2 | { 3 | /* required-start */ 4 | "type":"yarn-application", 5 | "gatewayConfig":{ 6 | "clusterConfig":{ 7 | "flinkConfigPath":"/opt/src/flink-1.13.3_conf/conf", 8 | "flinkLibPath":"hdfs:///flink13/lib/flinklib", 9 | "yarnConfigPath":"/usr/local/hadoop/hadoop-2.7.7/etc/hadoop" 10 | }, 11 | "appConfig":{ 12 | "userJarPath":"hdfs:///flink12/jar/currencyAppJar.jar", 13 | "userJarParas":["--id","2774,2775,2776"," --type","dwd"], 14 | "userJarMainAppClass":"com.app.MainApp" 15 | }, 16 | "flinkConfig": { 17 | "configuration":{ 18 | "parallelism.default": 1 19 | } 20 | } 21 | }, 22 | /* required-end */ 23 | /* custom-start */ 24 | "jobName":"openapitest", 25 | "savePointPath":"hdfs://ns/flink/savepoints/savepoint-5f4b8c-4326844a6843" 26 | /* custom-end */ 27 | } -------------------------------------------------------------------------------- /docs/docs/user_guide/auth_center/menu.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 3 3 | sidebar_position: 3 4 | id: menu_add 5 | title: 菜单 6 | --- 7 | 8 | :::info 简介 9 | 菜单模块提供了菜单的新增、修改、删除等功能,新增的菜单需要二次开发相对应的后台功能. 10 | 11 | 此功能菜单在执行系统初始化 sql 时 会自动创建. 12 | 13 | 此功能建议由系统管理员操作,不建议将此功能开放给普通用户. 14 | ::: 15 | 16 | 17 | ### 菜单新增 18 | 选择相应的父级菜单,点击创建根目录,点击右上角的编辑,填写菜单名称、路径、菜单类型等信息,完成菜单的新增。 19 | 20 | **认证中心 > 菜单 > 创建根目录** 21 | 22 | ![menu_add_01](http://pic.dinky.org.cn/dinky/docs/test/menu_add_01.png) 23 | 24 | ![menu_add_02](http://pic.dinky.org.cn/dinky/docs/test/menu_add_02.png) 25 | 26 | ### 菜单编辑 27 | 点击编辑按钮,进行菜单的编辑修改操作,如修改菜单层级、名称、类型、图标等,还可以进行重置。 28 | 29 | **认证中心 > 菜单 > 编辑** 30 | 31 | ![menu_edit](http://pic.dinky.org.cn/dinky/docs/test/menu_edit.png) 32 | 33 | ### 菜单删除 34 | 选择菜单,右键可进行菜单的删除操作。 35 | 36 | :::warning 注意 37 | 一般情况下,不建议普通用户执行此操作,建议由系统管理员操作. 38 | ::: 39 | 40 | **认证中心 > 菜单 > 编辑** 41 | 42 | ![menu_delete](http://pic.dinky.org.cn/dinky/docs/test/menu_delete.png) 43 | 44 | -------------------------------------------------------------------------------- /deploy/docker/docker-compose.dev.yml: -------------------------------------------------------------------------------- 1 | version: "3.9" 2 | 3 | services: 4 | dinky: 5 | build: 6 | context: ../.. 7 | dockerfile: ${PWD:-.}/Dockerfile 8 | args: 9 | - FLINK_VERSION 10 | - DINKY_VERSION 11 | ports: 12 | - "8888:8888" 13 | env_file: .env 14 | networks: 15 | - dinky 16 | volumes: 17 | - ${CUSTOM_JAR_PATH}:/opt/dinky/customJar/ 18 | 19 | jobmanager: 20 | image: flink:${FLINK_VERSION}-scala_2.12-java8 21 | ports: 22 | - "8081:8081" 23 | command: jobmanager 24 | env_file: .env 25 | volumes: 26 | - ${CUSTOM_JAR_PATH}:/opt/flink/lib/customJar/ 27 | networks: 28 | - dinky 29 | 30 | taskmanager: 31 | image: flink:${FLINK_VERSION}-scala_2.12-java8 32 | command: taskmanager 33 | env_file: .env 34 | volumes: 35 | - ${CUSTOM_JAR_PATH}:/opt/flink/lib/customJar/ 36 | networks: 37 | - dinky 38 | 39 | networks: 40 | dinky: 41 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/auth_center/menu.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 3 3 | sidebar_position: 3 4 | id: menu_add 5 | title: 菜单 6 | --- 7 | 8 | :::info 简介 9 | 菜单模块提供了菜单的新增、修改、删除等功能,新增的菜单需要二次开发相对应的后台功能. 10 | 11 | 此功能菜单在执行系统初始化 sql 时 会自动创建. 12 | 13 | 此功能建议由系统管理员操作,不建议将此功能开放给普通用户. 14 | ::: 15 | 16 | 17 | ### 菜单新增 18 | 选择相应的父级菜单,点击创建根目录,点击右上角的编辑,填写菜单名称、路径、菜单类型等信息,完成菜单的新增。 19 | 20 | **认证中心 > 菜单 > 创建根目录** 21 | 22 | ![menu_add_01](http://pic.dinky.org.cn/dinky/docs/test/menu_add_01.png) 23 | 24 | ![menu_add_02](http://pic.dinky.org.cn/dinky/docs/test/menu_add_02.png) 25 | 26 | ### 菜单编辑 27 | 点击编辑按钮,进行菜单的编辑修改操作,如修改菜单层级、名称、类型、图标等,还可以进行重置。 28 | 29 | **认证中心 > 菜单 > 编辑** 30 | 31 | ![menu_edit](http://pic.dinky.org.cn/dinky/docs/test/menu_edit.png) 32 | 33 | ### 菜单删除 34 | 选择菜单,右键可进行菜单的删除操作。 35 | 36 | :::warning 注意 37 | 一般情况下,不建议普通用户执行此操作,建议由系统管理员操作. 38 | ::: 39 | 40 | **认证中心 > 菜单 > 编辑** 41 | 42 | ![menu_delete](http://pic.dinky.org.cn/dinky/docs/test/menu_delete.png) 43 | 44 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/auth_center/menu.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 3 3 | sidebar_position: 3 4 | id: menu_add 5 | title: 菜单 6 | --- 7 | 8 | :::info 简介 9 | 菜单模块提供了菜单的新增、修改、删除等功能,新增的菜单需要二次开发相对应的后台功能. 10 | 11 | 此功能菜单在执行系统初始化 sql 时 会自动创建. 12 | 13 | 此功能建议由系统管理员操作,不建议将此功能开放给普通用户. 14 | ::: 15 | 16 | 17 | ### 菜单新增 18 | 选择相应的父级菜单,点击创建根目录,点击右上角的编辑,填写菜单名称、路径、菜单类型等信息,完成菜单的新增。 19 | 20 | **认证中心 > 菜单 > 创建根目录** 21 | 22 | ![menu_add_01](http://pic.dinky.org.cn/dinky/docs/test/menu_add_01.png) 23 | 24 | ![menu_add_02](http://pic.dinky.org.cn/dinky/docs/test/menu_add_02.png) 25 | 26 | ### 菜单编辑 27 | 点击编辑按钮,进行菜单的编辑修改操作,如修改菜单层级、名称、类型、图标等,还可以进行重置。 28 | 29 | **认证中心 > 菜单 > 编辑** 30 | 31 | ![menu_edit](http://pic.dinky.org.cn/dinky/docs/test/menu_edit.png) 32 | 33 | ### 菜单删除 34 | 选择菜单,右键可进行菜单的删除操作。 35 | 36 | :::warning 注意 37 | 一般情况下,不建议普通用户执行此操作,建议由系统管理员操作. 38 | ::: 39 | 40 | **认证中心 > 菜单 > 编辑** 41 | 42 | ![menu_delete](http://pic.dinky.org.cn/dinky/docs/test/menu_delete.png) 43 | 44 | -------------------------------------------------------------------------------- /docs/docs/practical_guide/cdcsource_practice/cdcsource_mysqlcdc2dinkycatalog.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 12 3 | position: 12 4 | id: cdcsource_mysqlcdc2dinkycatalog 5 | title: MySQLCDC 整库到 DinkyCatalog 6 | --- 7 | 8 | 9 | 10 | ### 整库同步到 Dinky Catalog 11 | 12 | ```sql showLineNumbers 13 | EXECUTE CDCSOURCE demo WITH ( 14 | 'connector' = 'mysql-cdc', 15 | 'hostname' = '127.0.0.1', 16 | 'port' = '3306', 17 | 'username' = 'root', 18 | 'password' = '123456', 19 | 'checkpoint' = '10000', 20 | 'scan.startup.mode' = 'initial', 21 | 'parallelism' = '1', 22 | 'table-name' = 'test\..*', 23 | 'sink.connector' = 'sql-catalog', 24 | 'sink.catalog.name' = 'dlinkmysql', 25 | 'sink.catalog.type' = 'dlink_mysql', 26 | 'sink.catalog.username' = 'dlink', 27 | 'sink.catalog.password' = 'dlink', 28 | 'sink.catalog.url' = 'jdbc:mysql://127.0.0.1:3306/dlink?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC', 29 | 'sink.sink.db' = 'default_database' 30 | ); 31 | ``` 32 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/udf_develop/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | id: udf_intro 4 | title: UDF 功能简介 5 | --- 6 | 7 | ## 开发目的 8 | 9 | 在使用 flink 中,难免碰到 UDF 的场景。开发、编译、打包,注册函数、测试等一系列流水线操作,这些 10 | 都由 Dinky 接管后,只需要开发、测试即可。 11 | 12 | 目前 Dinky 在对此模块进行优化调整,并有了一个雏形,现阶段支持单类开发; 13 | 14 | Dinky 将持续打造 UDF 开发,将来规划与 git接轨,实现在线开发。 15 | > 1. UDF 目前还在孵化阶段,请谨慎使用; 16 | > 17 | > 2. 支持 `Python` 、`Java` 、 `Scala` 三种代码语言 18 | > 19 | > 3. Flink 模式现除了 `k8s application`不支持外,其余模式均可正常使用 20 | 21 | --- 22 | 23 | ## 使用方式 24 | 25 | 1. 在 `数据开发` 里面创建作业 , 然后选择 `Python` 、`Java` 、 `Scala`等即可 26 | ![create_udf_work.png](http://pic.dinky.org.cn/dinky/docs/zh-CN/udf_develop/create_udf_work.png) 27 | 2. udf 这边提供模板,方便快速创建,模板具体使用请看 [udf 模板介绍](./udf_template_intro) 28 | ![create_udf_work2.png](http://pic.dinky.org.cn/dinky/docs/zh-CN/udf_develop/create_udf_work2.png) 29 | 30 | --- 31 | 32 | ## 操作演示 33 | 34 | ![create_udf_work.gif](http://pic.dinky.org.cn/dinky/docs/zh-CN/udf_develop/create_udf_work.gif) 35 | 36 | -------------------------------------------------------------------------------- /docs/docs/practical_guide/cdcsource_practice/cdcsource_mysqlcdc2print.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | id: cdcsource_mysqlcdc2print 4 | position: 2 5 | title: MySQLCDC 整库到 Print 6 | --- 7 | 8 | ## 前置准备 9 | - 请确保已经在 Flink/lib 和 dinky/extends 目录下放置了 MySQL CDC 的 Flink connector jar。 如果提交模式为 Application/Per-Job,请确保 MySQL CDC connector jar 已经放置在 HDFS 中 10 | - 如在两方启动后才进行放置上述 jar 包,请重启 Flink 和 Dinky 服务,或者使用 Dinky 中提供的 [ADD CUSTOMJAR](../../extend/expand_statements/add_jar_statement) 功能进行加载。 11 | 12 | 13 | ## 示例 14 | 15 | 注意事项: 16 | - 该示例是将 mysql 整库同步到 Print,输出到控制台。 17 | - 该示例是常用于快速简单调试, 请勿用于生产环境。 18 | 19 | ```sql showLineNumbers 20 | EXECUTE CDCSOURCE demo_print WITH ( 21 | 'connector' = 'mysql-cdc', 22 | 'hostname' = '127.0.0.1', 23 | 'port' = '3306', 24 | 'username' = 'root', 25 | 'password' = '123456', 26 | 'checkpoint' = '10000', 27 | 'scan.startup.mode' = 'initial', 28 | 'parallelism' = '1', 29 | 'table-name' = 'test\.student,test\.score', 30 | 'sink.connector' = 'print' 31 | ); 32 | ``` -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/cdcsource_practice/cdcsource_mysqlcdc2dinkycatalog.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 12 3 | position: 12 4 | id: cdcsource_mysqlcdc2dinkycatalog 5 | title: MySQLCDC 整库到 DinkyCatalog 6 | --- 7 | 8 | 9 | 10 | ### 整库同步到 Dinky Catalog 11 | 12 | ```sql showLineNumbers 13 | EXECUTE CDCSOURCE demo WITH ( 14 | 'connector' = 'mysql-cdc', 15 | 'hostname' = '127.0.0.1', 16 | 'port' = '3306', 17 | 'username' = 'root', 18 | 'password' = '123456', 19 | 'checkpoint' = '10000', 20 | 'scan.startup.mode' = 'initial', 21 | 'parallelism' = '1', 22 | 'table-name' = 'test\..*', 23 | 'sink.connector' = 'sql-catalog', 24 | 'sink.catalog.name' = 'dlinkmysql', 25 | 'sink.catalog.type' = 'dlink_mysql', 26 | 'sink.catalog.username' = 'dlink', 27 | 'sink.catalog.password' = 'dlink', 28 | 'sink.catalog.url' = 'jdbc:mysql://127.0.0.1:3306/dlink?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC', 29 | 'sink.sink.db' = 'default_database' 30 | ); 31 | ``` 32 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/cdcsource_practice/cdcsource_mysqlcdc2dinkycatalog.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 12 3 | position: 12 4 | id: cdcsource_mysqlcdc2dinkycatalog 5 | title: MySQLCDC 整库到 DinkyCatalog 6 | --- 7 | 8 | 9 | 10 | ### 整库同步到 Dinky Catalog 11 | 12 | ```sql showLineNumbers 13 | EXECUTE CDCSOURCE demo WITH ( 14 | 'connector' = 'mysql-cdc', 15 | 'hostname' = '127.0.0.1', 16 | 'port' = '3306', 17 | 'username' = 'root', 18 | 'password' = '123456', 19 | 'checkpoint' = '10000', 20 | 'scan.startup.mode' = 'initial', 21 | 'parallelism' = '1', 22 | 'table-name' = 'test\..*', 23 | 'sink.connector' = 'sql-catalog', 24 | 'sink.catalog.name' = 'dlinkmysql', 25 | 'sink.catalog.type' = 'dlink_mysql', 26 | 'sink.catalog.username' = 'dlink', 27 | 'sink.catalog.password' = 'dlink', 28 | 'sink.catalog.url' = 'jdbc:mysql://127.0.0.1:3306/dlink?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC', 29 | 'sink.sink.db' = 'default_database' 30 | ); 31 | ``` 32 | -------------------------------------------------------------------------------- /docs/babel.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | module.exports = { 21 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 22 | }; 23 | -------------------------------------------------------------------------------- /docs/docs/user_guide/auth_center/role.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 2 3 | sidebar_position: 2 4 | id: role 5 | title: 角色 6 | --- 7 | 8 | :::info 简介 9 | 角色模块提供了角色的新增、编辑及角色菜单的分配等功能。 10 | 11 | 系统初始化时,默认创建了一个超级管理员角色,角色编码为: `SuperAdmin`, 角色名称为: `SuperAdmin`, 该角色拥有系统所有权限, 无法删除。 12 | 13 | 此功能建议由系统管理员操作,不建议将此功能开放给普通用户. 14 | 15 | 注意: 16 | 角色是和租户绑定的,新建租户和用户之后,需要用`超级管理员切换到新租户`,创建新角色并分配菜单权限,并给新用户分配角色, 新用户才能正常使用。 17 | 目前分配完成菜单权限后, 需要该角色下的用户重新登录, 才能生效。 18 | ::: 19 | 20 | 21 | 22 | ### 新建 23 | 点击新建按钮,输入角色编码、角色名称等相关信息,完成角色的新建。 24 | 25 | **认证中心 > 角色 > 新建** 26 | 27 | ![role_add](http://pic.dinky.org.cn/dinky/docs/test/role_add.png) 28 | 29 | ### 编辑 30 | 点击编辑按钮,进行角色信息的修改操作。 31 | 32 | **认证中心 > 角色 > 编辑** 33 | 34 | ![role_edit](http://pic.dinky.org.cn/dinky/docs/test/role_edit.png) 35 | 36 | ### 分配菜单 37 | 点击分配菜单按钮,可以对角色的菜单权限进行分配。 38 | 39 | **认证中心 > 角色 > 分配角色** 40 | 41 | ![role_distribute](http://pic.dinky.org.cn/dinky/docs/test/role_distribute.png) 42 | 43 | :::tip 提示 44 | 1. 分配完成后,需要用户重新登录才能生效。 45 | 2. 点击`角色编码`可以查看角色下的用户。 46 | ::: -------------------------------------------------------------------------------- /docs/versioned_docs/version-0.7/platform_intro/feature.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | sidebar_position: 2 4 | id: feature 5 | title: 功能 6 | --------- 7 | 8 | - 沉浸式 FlinkSQL 数据开发:自动提示补全、语法高亮、语句美化、在线调试、语法校验、执行计划、MetaStore、血缘分析、版本对比等 9 | - 支持 FlinkSQL 多版本开发及多种执行模式:Local、Standalone、Yarn/Kubernetes Session、Yarn Per-Job、Yarn/Kubernetes Application 10 | - 支持 Apache Flink 生态:Connector、FlinkCDC、Table Store 等 11 | - 支持 FlinkSQL 语法增强:表值聚合函数、全局变量、执行环境、语句合并、整库同步等 12 | - 支持 FlinkCDC 整库实时入仓入湖、多库输出、自动建表、模式演变 13 | - 支持 Flink Java / Scala / Python UDF 开发与自动提交 14 | - 支持 SQL 作业开发:ClickHouse、Doris、Hive、Mysql、Oracle、Phoenix、PostgreSql、Presto、SqlServer、StarRocks 等 15 | - 支持实时在线调试预览 Table、 ChangeLog、统计图和 UDF 16 | - 支持 Flink Catalog、数据源元数据在线查询及管理 17 | - 支持自动托管的 SavePoint/CheckPoint 恢复及触发机制:最近一次、最早一次、指定一次等 18 | - 支持实时任务运维:上线下线、作业信息、集群信息、作业快照、异常信息、数据地图、数据探查、历史版本、报警记录等 19 | - 支持作为多版本 FlinkSQL Server 以及 OpenApi 的能力 20 | - 支持实时作业报警及报警组:钉钉、微信企业号、飞书、邮箱等 21 | - 支持多种资源管理:集群实例、集群配置、Jar、数据源、报警组、报警实例、文档、系统配置等 22 | - 支持企业级管理功能:多租户、用户、角色、命名空间等 23 | - 更多隐藏功能等待小伙伴们探索 24 | 25 | -------------------------------------------------------------------------------- /dinky-admin/src/main/java/org/dinky/service/sse/SseService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | package org.dinky.service.sse; 21 | 22 | public interface SseService {} 23 | -------------------------------------------------------------------------------- /dinky-catalog/dinky-catalog-mysql/dinky-catalog-mysql-1.14/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.dinky.flink.catalog.factory.DinkyMysqlCatalogFactory 17 | -------------------------------------------------------------------------------- /dinky-catalog/dinky-catalog-mysql/dinky-catalog-mysql-1.15/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.dinky.flink.catalog.factory.DinkyMysqlCatalogFactory 17 | -------------------------------------------------------------------------------- /dinky-catalog/dinky-catalog-mysql/dinky-catalog-mysql-1.16/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.dinky.flink.catalog.factory.DinkyMysqlCatalogFactory 17 | -------------------------------------------------------------------------------- /dinky-catalog/dinky-catalog-mysql/dinky-catalog-mysql-1.17/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.dinky.flink.catalog.factory.DinkyMysqlCatalogFactory 17 | -------------------------------------------------------------------------------- /dinky-catalog/dinky-catalog-mysql/dinky-catalog-mysql-1.18/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.dinky.flink.catalog.factory.DinkyMysqlCatalogFactory 17 | -------------------------------------------------------------------------------- /dinky-catalog/dinky-catalog-mysql/dinky-catalog-mysql-1.19/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.dinky.flink.catalog.factory.DinkyMysqlCatalogFactory 17 | -------------------------------------------------------------------------------- /dinky-catalog/dinky-catalog-mysql/dinky-catalog-mysql-1.20/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.dinky.flink.catalog.factory.DinkyMysqlCatalogFactory 17 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/practical_guide/cdcsource_practice/cdcsource_mysqlcdc2print.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | id: cdcsource_mysqlcdc2print 4 | position: 2 5 | title: MySQLCDC 整库到 Print 6 | --- 7 | 8 | ## 前置准备 9 | - 请确保已经在 Flink/lib 和 dinky/extends 目录下放置了 MySQL CDC 的 Flink connector jar。 如果提交模式为 Application/Per-Job,请确保 MySQL CDC connector jar 已经放置在 HDFS 中 10 | - 如在两方启动后才进行放置上述 jar 包,请重启 Flink 和 Dinky 服务,或者使用 Dinky 中提供的 [ADD CUSTOMJAR](../../extend/expand_statements/add_jar_statement) 功能进行加载。 11 | 12 | 13 | ## 示例 14 | 15 | 注意事项: 16 | - 该示例是将 mysql 整库同步到 Print,输出到控制台。 17 | - 该示例是常用于快速简单调试, 请勿用于生产环境。 18 | 19 | ```sql showLineNumbers 20 | EXECUTE CDCSOURCE demo_print WITH ( 21 | 'connector' = 'mysql-cdc', 22 | 'hostname' = '127.0.0.1', 23 | 'port' = '3306', 24 | 'username' = 'root', 25 | 'password' = '123456', 26 | 'checkpoint' = '10000', 27 | 'scan.startup.mode' = 'initial', 28 | 'parallelism' = '1', 29 | 'table-name' = 'test\.student,test\.score', 30 | 'sink.connector' = 'print' 31 | ); 32 | ``` -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/practical_guide/cdcsource_practice/cdcsource_mysqlcdc2print.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 2 3 | id: cdcsource_mysqlcdc2print 4 | position: 2 5 | title: MySQLCDC 整库到 Print 6 | --- 7 | 8 | ## 前置准备 9 | - 请确保已经在 Flink/lib 和 dinky/extends 目录下放置了 MySQL CDC 的 Flink connector jar。 如果提交模式为 Application/Per-Job,请确保 MySQL CDC connector jar 已经放置在 HDFS 中 10 | - 如在两方启动后才进行放置上述 jar 包,请重启 Flink 和 Dinky 服务,或者使用 Dinky 中提供的 [ADD CUSTOMJAR](../../extend/expand_statements/add_jar_statement) 功能进行加载。 11 | 12 | 13 | ## 示例 14 | 15 | 注意事项: 16 | - 该示例是将 mysql 整库同步到 Print,输出到控制台。 17 | - 该示例是常用于快速简单调试, 请勿用于生产环境。 18 | 19 | ```sql showLineNumbers 20 | EXECUTE CDCSOURCE demo_print WITH ( 21 | 'connector' = 'mysql-cdc', 22 | 'hostname' = '127.0.0.1', 23 | 'port' = '3306', 24 | 'username' = 'root', 25 | 'password' = '123456', 26 | 'checkpoint' = '10000', 27 | 'scan.startup.mode' = 'initial', 28 | 'parallelism' = '1', 29 | 'table-name' = 'test\.student,test\.score', 30 | 'sink.connector' = 'print' 31 | ); 32 | ``` -------------------------------------------------------------------------------- /e2e_test/tools/dinky_task/flink_jar_sql/mysql2doris.sql: -------------------------------------------------------------------------------- 1 | set 'execution.checkpointing.interval'='5 s'; 2 | ADD CUSTOMJAR 'rs:/flink-sql-connector-mysql-cdc.jar'; 3 | ADD CUSTOMJAR 'rs:/mysql-connector-java.jar'; 4 | EXECUTE JAR WITH ( 5 | 'uri'='rs:/flink-doris-connector.jar', 6 | 'main-class'='org.apache.doris.flink.tools.cdc.CdcTools', 7 | 'args'='base64@bXlzcWwtc3luYy1kYXRhYmFzZSAgICAgLS1kYXRhYmFzZSBkaW5reSAgICAgLS1teXNxbC1jb25mIGhvc3RuYW1lPW15c3FsICAgICAtLW15c3FsLWNvbmYgcG9ydD0zMzA2ICAgICAtLW15c3FsLWNvbmYgdXNlcm5hbWU9cm9vdCAgICAgLS1teXNxbC1jb25mIHBhc3N3b3JkPWRpbmt5ICAgICAtLW15c3FsLWNvbmYgZGF0YWJhc2UtbmFtZT1kaW5reSAgICAgLS1teXNxbC1jb25mIHNlcnZlci10aW1lLXpvbmU9QXNpYS9TaGFuZ2hhaSAgICAgLS1pbmNsdWRpbmctdGFibGVzICJkaW5reV90YXNrIiAgICAgLS1zaW5rLWNvbmYgZmVub2Rlcz1kb3Jpcy1mZTo4MDMwICAgICAtLXNpbmstY29uZiB1c2VybmFtZT1yb290ICAgICAtLXNpbmstY29uZiBqZGJjLXVybD1qZGJjOm15c3FsOi8vZG9yaXMtZmU6OTAzMCAgICAgLS1zaW5rLWNvbmYgc2luay5sYWJlbC1wcmVmaXg9bGFiZWwtMSAgICAgLS10YWJsZS1jb25mIHJlcGxpY2F0aW9uX251bT0xIA==', 8 | 'allowNonRestoredState'='false' 9 | ); 10 | -------------------------------------------------------------------------------- /dinky-catalog/dinky-catalog-postgres/dinky-catalog-postgres-1.14/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.dinky.flink.catalog.factory.DinkyPostgresCatalogFactory 17 | -------------------------------------------------------------------------------- /dinky-catalog/dinky-catalog-postgres/dinky-catalog-postgres-1.15/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.dinky.flink.catalog.factory.DinkyPostgresCatalogFactory 17 | -------------------------------------------------------------------------------- /dinky-catalog/dinky-catalog-postgres/dinky-catalog-postgres-1.16/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.dinky.flink.catalog.factory.DinkyPostgresCatalogFactory 17 | -------------------------------------------------------------------------------- /dinky-catalog/dinky-catalog-postgres/dinky-catalog-postgres-1.17/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.dinky.flink.catalog.factory.DinkyPostgresCatalogFactory 17 | -------------------------------------------------------------------------------- /dinky-catalog/dinky-catalog-postgres/dinky-catalog-postgres-1.18/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.dinky.flink.catalog.factory.DinkyPostgresCatalogFactory 17 | -------------------------------------------------------------------------------- /dinky-catalog/dinky-catalog-postgres/dinky-catalog-postgres-1.19/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.dinky.flink.catalog.factory.DinkyPostgresCatalogFactory 17 | -------------------------------------------------------------------------------- /dinky-catalog/dinky-catalog-postgres/dinky-catalog-postgres-1.20/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | org.dinky.flink.catalog.factory.DinkyPostgresCatalogFactory 17 | -------------------------------------------------------------------------------- /dinky-web/src/components/Flink/FlinkDag/index.css: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | @keyframes running-line { 21 | to { 22 | stroke-dashoffset: -1000; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | # Licensed to Apache Software Foundation (ASF) under one or more contributor 2 | # license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright 4 | # ownership. Apache Software Foundation (ASF) licenses this file to you under 5 | # the Apache License, Version 2.0 (the "License"); you may 6 | # not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | 19 | [submodule ".github/actions/translate-on-issue"] 20 | path = .github/actions/translate-on-issue 21 | url = https://github.com/xingchun-chen/translation-helper 22 | 23 | -------------------------------------------------------------------------------- /dinky-web/src/components/JobTags/data.d.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | export interface StatusTagProps { 21 | status?: any; 22 | animation?: boolean; 23 | bordered?: boolean; 24 | } 25 | -------------------------------------------------------------------------------- /dinky-web/src/services/index.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | import * as api from './api'; 21 | import * as crud from './BusinessCrud'; 22 | 23 | export default { 24 | api, 25 | crud 26 | }; 27 | -------------------------------------------------------------------------------- /docs/docs/extend/expand_statements/print_table.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | position: 5 4 | id: print_table 5 | title: PRINT TABLE 6 | --- 7 | 8 | :::info 背景 9 | 在 Dinky 中, 我们可以通过 `PRINT TABLENAME`语句来查看表数据实时内容。 10 | 11 | 此功能可以实现在 Dinky->`表数据`标签页动态查看运行时各表数据实时内容, 以便于调试SQL语句或者查看中间表过程数据。 12 | ::: 13 | 14 | ## 语法结构 15 | PRINT TABLE 实现埋点功能, 语法结构如下: 16 | ```sql 17 | PRINT tableName 18 | ``` 19 | 20 | ### Demo 21 | 22 | ```sql 23 | CREATE TABLE Orders ( 24 | order_number BIGINT, 25 | price DECIMAL(32,2), 26 | buyer STRING, 27 | seller STRING, 28 | order_time TIMESTAMP(3), 29 | WATERMARK FOR order_time AS order_time - INTERVAL '5' SECOND 30 | ) WITH ( 31 | 'connector' = 'kafka', 32 | 'topic' = 'Orders', 33 | 'properties.bootstrap.servers' = 'localhost:9092', 34 | 'properties.group.id' = 'testGroup', 35 | 'scan.startup.mode' = 'latest-offset', 36 | 'format' = 'csv' 37 | ); 38 | 39 | print Orders; 40 | ``` 41 | :::warning 注意 42 | 43 | PRINT 的表可以是 source/view, 但不可以是 sink 表。 44 | 45 | ::: 46 | -------------------------------------------------------------------------------- /docs/docs/user_guide/system_setting/global_settings/flink_setting.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 2 3 | id: flink_setting 4 | sidebar_position: 2 5 | title: Flink 配置 6 | --- 7 | 8 | 9 | 当用户使用 **Application 模式**以及 **RestAPI** 时,需要在 **Flink 设置** 页面进行相关修改。 10 | 11 | 另外**Application 模式** 支持**Yarn** 和 **Kubernetes**,启用 **RestAPI** 后,Flink 任务的 savepoint,停止等操作都将会通过 12 | JobManager 的 RestAPI 进行。 13 | 14 | 首先进入**配置中心** > **全局配置** > **Flink设置**,对参数配置进行修改即可。 15 | 16 | ![flink_setting](http://pic.dinky.org.cn/dinky/docs/test/flink_setting.jpg) 17 | 18 | **参数配置说明:** 19 | 20 | | 参数名称 | 参数说明 | 21 | |:---------------|:--------------------------------------------------------------| 22 | | **使用 RestAPI** | 是否使用 RestAPI 进行任务操作,开启后,FlinkSQL 任务的 savepoint、停止等操作将通过此参数进行。 | 23 | | **Job 提交等待时间** | 提交 Application 或 PerJob 任务时获取 Job ID 的最大等待时间,单位是秒。 | 24 | 25 | :::warning 注意 26 | 1. **SQL 分隔符** 配置项自 Dinky1.0.0-release 开始已被删除,不支持自定义,请严格遵守 SQL 语法规范。必须以 `;\n` 作为 SQL 语句的分隔符。`\n`为隐式换行符(即: 回车),不是明文字符串。 27 | 28 | ::: -------------------------------------------------------------------------------- /dinky-metadata/dinky-metadata-base/src/main/java/org/dinky/metadata/config/IConnectConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | package org.dinky.metadata.config; 21 | 22 | public interface IConnectConfig {} 23 | -------------------------------------------------------------------------------- /docs/static/img/new.svg: -------------------------------------------------------------------------------- 1 | 3 | 5 | 6 | 7 | 8 | 10 | -------------------------------------------------------------------------------- /dinky-sandbox/dinky-sandbox-base/src/main/java/org/dinky/sandbox/AbstractSandbox.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | package org.dinky.sandbox; 21 | 22 | public abstract class AbstractSandbox implements Sandbox {} 23 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/user_guide/system_setting/global_settings/flink_setting.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 2 3 | id: flink_setting 4 | sidebar_position: 2 5 | title: Flink 配置 6 | --- 7 | 8 | 9 | 当用户使用 **Application 模式**以及 **RestAPI** 时,需要在 **Flink 设置** 页面进行相关修改。 10 | 11 | 另外**Application 模式** 支持**Yarn** 和 **Kubernetes**,启用 **RestAPI** 后,Flink 任务的 savepoint,停止等操作都将会通过 12 | JobManager 的 RestAPI 进行。 13 | 14 | 首先进入**配置中心** > **全局配置** > **Flink设置**,对参数配置进行修改即可。 15 | 16 | ![flink_setting](http://pic.dinky.org.cn/dinky/docs/test/flink_setting.jpg) 17 | 18 | **参数配置说明:** 19 | 20 | | 参数名称 | 参数说明 | 21 | |:---------------|:--------------------------------------------------------------| 22 | | **使用 RestAPI** | 是否使用 RestAPI 进行任务操作,开启后,FlinkSQL 任务的 savepoint、停止等操作将通过此参数进行。 | 23 | | **Job 提交等待时间** | 提交 Application 或 PerJob 任务时获取 Job ID 的最大等待时间,单位是秒。 | 24 | 25 | :::warning 注意 26 | 1. **SQL 分隔符** 配置项自 Dinky1.0.0-release 开始已被删除,不支持自定义,请严格遵守 SQL 语法规范。必须以 `;\n` 作为 SQL 语句的分隔符。`\n`为隐式换行符(即: 回车),不是明文字符串。 27 | 28 | ::: -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/user_guide/system_setting/global_settings/flink_setting.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 2 3 | id: flink_setting 4 | sidebar_position: 2 5 | title: Flink 配置 6 | --- 7 | 8 | 9 | 当用户使用 **Application 模式**以及 **RestAPI** 时,需要在 **Flink 设置** 页面进行相关修改。 10 | 11 | 另外**Application 模式** 支持**Yarn** 和 **Kubernetes**,启用 **RestAPI** 后,Flink 任务的 savepoint,停止等操作都将会通过 12 | JobManager 的 RestAPI 进行。 13 | 14 | 首先进入**配置中心** > **全局配置** > **Flink设置**,对参数配置进行修改即可。 15 | 16 | ![flink_setting](http://pic.dinky.org.cn/dinky/docs/test/flink_setting.jpg) 17 | 18 | **参数配置说明:** 19 | 20 | | 参数名称 | 参数说明 | 21 | |:---------------|:--------------------------------------------------------------| 22 | | **使用 RestAPI** | 是否使用 RestAPI 进行任务操作,开启后,FlinkSQL 任务的 savepoint、停止等操作将通过此参数进行。 | 23 | | **Job 提交等待时间** | 提交 Application 或 PerJob 任务时获取 Job ID 的最大等待时间,单位是秒。 | 24 | 25 | :::warning 注意 26 | 1. **SQL 分隔符** 配置项自 Dinky1.0.0-release 开始已被删除,不支持自定义,请严格遵守 SQL 语法规范。必须以 `;\n` 作为 SQL 语句的分隔符。`\n`为隐式换行符(即: 回车),不是明文字符串。 27 | 28 | ::: -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.0/extend/expand_statements/print_table.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | position: 5 4 | id: print_table 5 | title: PRINT TABLE 6 | --- 7 | 8 | :::info 背景 9 | 在 Dinky 中, 我们可以通过 `PRINT TABLENAME`语句来查看表数据实时内容。 10 | 11 | 此功能可以实现在 Dinky->`表数据`标签页动态查看运行时各表数据实时内容, 以便于调试SQL语句或者查看中间表过程数据。 12 | ::: 13 | 14 | ## 语法结构 15 | PRINT TABLE 实现埋点功能, 语法结构如下: 16 | ```sql 17 | PRINT tableName 18 | ``` 19 | 20 | ### Demo 21 | 22 | ```sql 23 | CREATE TABLE Orders ( 24 | order_number BIGINT, 25 | price DECIMAL(32,2), 26 | buyer STRING, 27 | seller STRING, 28 | order_time TIMESTAMP(3), 29 | WATERMARK FOR order_time AS order_time - INTERVAL '5' SECOND 30 | ) WITH ( 31 | 'connector' = 'kafka', 32 | 'topic' = 'Orders', 33 | 'properties.bootstrap.servers' = 'localhost:9092', 34 | 'properties.group.id' = 'testGroup', 35 | 'scan.startup.mode' = 'latest-offset', 36 | 'format' = 'csv' 37 | ); 38 | 39 | print Orders; 40 | ``` 41 | :::warning 注意 42 | 43 | PRINT 的表可以是 source/view, 但不可以是 sink 表。 44 | 45 | ::: 46 | -------------------------------------------------------------------------------- /docs/versioned_docs/version-1.1/extend/expand_statements/print_table.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | position: 5 4 | id: print_table 5 | title: PRINT TABLE 6 | --- 7 | 8 | :::info 背景 9 | 在 Dinky 中, 我们可以通过 `PRINT TABLENAME`语句来查看表数据实时内容。 10 | 11 | 此功能可以实现在 Dinky->`表数据`标签页动态查看运行时各表数据实时内容, 以便于调试SQL语句或者查看中间表过程数据。 12 | ::: 13 | 14 | ## 语法结构 15 | PRINT TABLE 实现埋点功能, 语法结构如下: 16 | ```sql 17 | PRINT tableName 18 | ``` 19 | 20 | ### Demo 21 | 22 | ```sql 23 | CREATE TABLE Orders ( 24 | order_number BIGINT, 25 | price DECIMAL(32,2), 26 | buyer STRING, 27 | seller STRING, 28 | order_time TIMESTAMP(3), 29 | WATERMARK FOR order_time AS order_time - INTERVAL '5' SECOND 30 | ) WITH ( 31 | 'connector' = 'kafka', 32 | 'topic' = 'Orders', 33 | 'properties.bootstrap.servers' = 'localhost:9092', 34 | 'properties.group.id' = 'testGroup', 35 | 'scan.startup.mode' = 'latest-offset', 36 | 'format' = 'csv' 37 | ); 38 | 39 | print Orders; 40 | ``` 41 | :::warning 注意 42 | 43 | PRINT 的表可以是 source/view, 但不可以是 sink 表。 44 | 45 | ::: 46 | -------------------------------------------------------------------------------- /dinky-common/src/main/java/org/dinky/data/model/ResourcesModelEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | package org.dinky.data.model; 21 | 22 | public enum ResourcesModelEnum { 23 | LOCAL, 24 | HDFS, 25 | OSS 26 | } 27 | -------------------------------------------------------------------------------- /dinky-sandbox/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.dinky 7 | dinky 8 | ${revision} 9 | ../pom.xml 10 | 11 | 12 | dinky-sandbox 13 | 14 | pom 15 | 16 | Dinky : Sandbox 17 | 18 | 19 | dinky-sandbox-base 20 | dinky-sandbox-memory 21 | 22 | 23 | 24 | 8 25 | 8 26 | UTF-8 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /docs/docs/user_guide/system_setting/global_settings/metrics_setting.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 6 3 | sidebar_position: 6 4 | id: metrics_setting 5 | title: Metrics 配置 6 | --- 7 | 8 | :::info 简介 9 | 10 | Dinky1.0增加了Metrics监控功能,可以实现对 Dinky Server的JVM信息的监控 11 | 12 | 如开启Dinky JVM Monitor开关,可以在`监控`中看到 Dinky Server 的实时的 JVM 等信息 13 | 14 | ::: 15 | 16 | ![metrics_setting](http://pic.dinky.org.cn/dinky/docs/test/metrics_setting.png) 17 | 18 | **参数配置说明:** 19 | 20 | | 参数名称 | 参数说明 | 21 | |:----------------------------------|:----------------------------------------------------------------| 22 | | **Dinky JVM Monitor 开关** | 此开关会关系到Dinky JVM Monitor,决定监控页面中的Dinky Server显示,以及JVM Metrics采集 | 23 | | **Dinky JVM Metrics 采集时间粒度** | Dinky JVM Metrics 采集时间粒度,定时任务间隔触发 | 24 | | **Flink Metrics 采集时间粒度** | Flink Metrics 采集时间粒度,定时任务间隔触发 | 25 | | **Flink Metrics 采集时间粒度,定时任务间隔触发** | Flink Metrics 采集超时时长,定时任务间隔触发(此配置项应小于Flink Metrics 采集时间粒度) | -------------------------------------------------------------------------------- /dinky-common/src/main/java/org/dinky/data/metrics/BaseMetrics.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | package org.dinky.data.metrics; 21 | 22 | import java.io.Serializable; 23 | 24 | public class BaseMetrics implements Serializable {} 25 | -------------------------------------------------------------------------------- /dinky-gateway/src/test/java/org/dinky/gateway/GatewayTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | package org.dinky.gateway; 21 | 22 | /** 23 | * GatewayTest 24 | * 25 | * @since 2021/10/29 26 | */ 27 | public class GatewayTest {} 28 | -------------------------------------------------------------------------------- /dinky-admin/src/main/java/org/dinky/mybatis/annotation/Save.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | package org.dinky.mybatis.annotation; 21 | 22 | /** 23 | * 新增接口 24 | * 25 | * @since 2021/5/3 20:57 26 | */ 27 | public interface Save {} 28 | -------------------------------------------------------------------------------- /dinky-admin/src/main/java/org/dinky/service/APIService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | package org.dinky.service; 21 | 22 | /** 23 | * APIService 24 | * 25 | * @since 2021/12/11 21:45 26 | */ 27 | public interface APIService {} 28 | -------------------------------------------------------------------------------- /dinky-web/src/pages/AuthCenter/User/components/constants.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | export const UserType = { LOCAL: 0, LDAP: 1 }; 21 | 22 | export const USER_TYPE_ENUM = () => { 23 | return { 0: 'LOCAL', 1: 'LDAP' }; 24 | }; 25 | -------------------------------------------------------------------------------- /docs/docs/user_guide/register_center/git_project.md: -------------------------------------------------------------------------------- 1 | --- 2 | position: 6 3 | sidebar_position: 6 4 | id: git_project 5 | title: Git 项目 6 | --- 7 | 8 | :::info 简介 9 | Dinky 在 v1.0.0 版本开始,提供了 Git 项目管理的功能,可以在 Dinky 中管理 Git 项目,方便的进行項目编译打包操作,并提供了全构建流程的实时化日志查看功能. 10 | ::: 11 | 12 | ## 支持功能列表 13 | 1. 可以托管 Jar任务的项目, 并将打包产物自动推送至 [`资源中心`](resource) 以便数据开发中使用 jar 任务提交方式 14 | 2. 可以托管 UDF 项目, 并将打包产物自动推送至 [`资源中心`](resource) 以便数据开发中使用该 UDF 15 | 3. 支持自动解析 UDF 项目打包后的 UDF function 16 | 4. 支持查看 clone 后的代码 17 | 5. 支持查看全流程构建日志 18 | 6. 支持配置 GitHub 项目/GitLab 项目 19 | 7. 支持配置 Maven 私服仓库,配置详见: [Maven 配置](../system_setting/global_settings/maven_setting) 20 | 8. 支持 Python/Java 项目 21 | 9. 支持 https/ssh 协议 clone 方式 22 | 23 | ## 列表 24 | ![git_project](http://pic.dinky.org.cn/dinky/docs/test/git_project_list.png) 25 | 26 | ## 构建 27 | 28 | ![git_build](http://pic.dinky.org.cn/dinky/docs/test/git.png) 29 | 30 | 31 | **注意:** 构建完成后,会将构建产物推送至 [`资源中心`](resource_center) ,进行集中管理 32 | 33 | 34 | ## 查看代码 35 | 36 | ![git_show_code](http://pic.dinky.org.cn/dinky/docs/test/git_show_code.png) 37 | 38 | **注意:** 目前仅支持查看 clone 后的代码,不支持编辑代码 -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | blank_issues_enabled: false 19 | contact_links: 20 | - name: Ask a question or get support 21 | url: https://github.com/DataLinkDC/dinky/discussions/ 22 | about: Ask a question or request support for using Dinky 23 | -------------------------------------------------------------------------------- /dinky-common/src/main/java/org/dinky/data/enums/MenuType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | package org.dinky.data.enums; 21 | 22 | /** menu type */ 23 | public enum MenuType { 24 | DIRECTORY, 25 | MENU, 26 | 27 | BUTTON, 28 | } 29 | -------------------------------------------------------------------------------- /dinky-admin/src/test/java/org/dinky/service/impl/PrintTableServiceImplTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | package org.dinky.service.impl; 21 | 22 | import static org.junit.jupiter.api.Assertions.*; 23 | 24 | class PrintTableServiceImplTest {} 25 | -------------------------------------------------------------------------------- /dinky-common/src/main/java/org/dinky/data/enums/BusinessStatus.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | package org.dinky.data.enums; 21 | 22 | /** oper log business status */ 23 | public enum BusinessStatus { 24 | SUCCESS, 25 | 26 | FAIL, 27 | } 28 | -------------------------------------------------------------------------------- /dinky-core/src/main/java/org/dinky/data/result/JobSubmitResult.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | package org.dinky.data.result; 21 | 22 | /** 23 | * JobSubmitRecord 24 | * 25 | * @since 2021/5/25 15:32 26 | */ 27 | public class JobSubmitResult {} 28 | -------------------------------------------------------------------------------- /dinky-web/src/types/DevOps/init.d.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | */ 19 | 20 | import { AlertHistoryState } from '@/types/DevOps/state.d'; 21 | 22 | export const InitAlertHistoryState: AlertHistoryState = { 23 | loading: false, 24 | alertHistory: [] 25 | }; 26 | --------------------------------------------------------------------------------