Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>vscode-udf-pluginsNew to Visual Studio Code? Get it now.
vscode-udf-plugins

vscode-udf-plugins

transwarp

|
528 installs
| (0) | Free
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info
  • 简介
    • 功能
    • 使用说明
      • 基础配置说明
        • 1. Auto Check New Version
        • 2. Beeline
        • 4. Hdfs User
        • 5. Maven Home
        • 6. Version
        • 7. Version Server
        • 8. Version Token
        • 9. Workspace Path
      • 操作说明
        • 1. 插件安装
        • 2. 插件更新
        • 1. 插件主体
          • 1.1 command
          • 1.2 treeview
          • 1.3 操作
            • 1.3.1. 项目编译
            • 1.3.2. 项目发布
            • 1.3.3. 测试类生成
            • 1.3.4 创建UDF项目脚手架
    • 模版

简介

  • 随着客户需求的日益增长。用户对于UDF的需求量也越来越大。为方便广大DE同事能够快速高效的编写UDF项目及工程,也为了搭建一个UDF的项目共享平台。特提供此插件,有问题地方请issue.

innerJar:内部插件,也是本插件的核心,安全起见只能通过内部git下载及更新。

vscode插件command,vscode中一种命令模式,输入相应的命令执行相应的操作,类似于快捷键而又不是快捷键,[ctrl] / [command] + [shift] + [p] 呼出vscode的command的执行窗。

vscode插件 treeview.vscode中一种交互展示形式,比如右侧的资源管理器中就是一个treeview.

项目脚手架,一个项目的最初始化形态,包含一个最基础的项目结构配置。

功能

  • 本插件支持依靠模版导出项目脚手架。
  • 支持UDF编译
  • 支持UDF一键发布(需要配置hive,hdfs等附属服务).

使用说明

基础配置说明

1. Auto Check New Version

  • 建议勾选。注意此处的自动检查更新,是针对本插件中的innerJar插件做更新,本插件本身更新频率不会很高。
  • 考虑到我们的模版市场需要非常频繁的更新,所以对于vscode插件我们作为一层交互外壳,真正的插件逻辑放在innerJar插件中,借助gitlab artifact与gitlab rest api就能实现通过vscode 对innerJar自动检查更新,方便innerJar及时更新

2. Beeline

  • UDF插件发布会使用到这个URL。

  • 一键发布会讲打包好的插件jar上传只HDFS.

4. Hdfs User

  • Hdfs用户名。

5. Maven Home

  • MAVEN_HOME.

6. Version

  • 对于不同的集群版本,其实UDF的依赖是不同的。这里我们支持选择多个版本,从而使生成的脚手架中的依赖版本能够准确适配集群版本。

7. Version Server

  • innerJar插件更新的版本服务器。目前暂时为我司内部的gitlab服务器。

8. Version Token

  • innerJar 更新token.建议去gitlab生成一个自己的token.

9. Workspace Path

  • 脚手架生成的项目存储路径。innerJar插件存储目录,
  • 所以如果修改了workspace,最后是重新启动下vscode,方便innerJar重新加载

操作说明

1. 插件安装

  • 点击visual code 左侧工具栏中的插件栏,搜索关键字UDF即可找到我。

2. 插件更新

  • 目前的架构将插件分为两部,

    1. vscode插件部分:借助vscode插件市场更新,更新频率不会太高,且一般都会自动更新;
    2. innerJar部分 借助gitlab rest api自动更新;
  • vscode插件部分可以理解为整个项目的前端外壳,一般情况下非重大功能或需求,我们不会更新

  • innerJar体积较大,并且其中包含部分内部代码,故而采取与vscode插件分离的方式,借助gitlab ci artifact 及 gitlab rest api在每次vscode启动时自动完成更新

  • innerJar中也包含了所有的可用的模版,并且有新的模版时我们会及时的更新.

1. 插件主体

1.1 command
1. **脚手架创建**
2. **编译UDF**
3. **发布UDF**
1.2 treeview
  • 点击左侧的工具栏中的Slipstream UDF图标(如果没有图标,可能原因1.未安装插件;2.在左栏右键未勾选展示slipstream UDF).
1.3 操作
1.3.1. 项目编译
  • 点击编译UDF,将对当前目录项目执行mvn install命令。可以通过底部的panel实时查看相关的编译日志输出。
1.3.2. 项目发布
  • 对于编译好的UDF项目,会在左侧的treeview中展示打包后的jar中所包含的所有UDF,在每个UDF项目右侧,点击发布按钮,即可一键将UDF发布至server.
1.3.3. 测试类生成
  • 此处借助MVN test
1.3.4 创建UDF项目脚手架
  • 点击UDF脚手架创建,会弹出一个打开的标签页,其中包含了很多的脚手架模版。其中有模版的简介与模版变量简介,点击使用此模版,右侧将出现相应的表单区域,为模版填写好所有的脚手架变量属性后,点击使用xxxx创建脚手架,即可自动生成脚手架项目。

模版

  • 插件只是简单的🔧工具,提高大家的开发效率。但似乎没有根本解决一些问题。故而将插件中的脚手架模版文件从插件中剥离抽出,方便后续大家持续贡献,希望在闲暇之余能将你的运行正常的UDF抽象为模版贡献出来,供其他人学习借鉴。

  • 一个UDF项目一般由以下几个部分组成

    1. MainClass
    2. Pom.xml
    3. 必要的配置信息,例如数据库配置,kafka配置,部分参数配置;
  • 所以一个UDF项目模版也由三个部分组成,

    1. MainClassTemplate(class模版)
    2. pom.xml项目依赖模版
    3. configMap(配置信息描述)
  • 举个🌰

// 例如你的UDF模版中configMap有两个变量,则在模版文件中可以这样使用他们,
//****Main class
package ${packageName};
...
public class ${name}CommonUDFSuffix {

    public static void main(String[] main) {
        System.out.println( "current UDF name was : ${name},current packageName: ${packageName}");
    }
}
<!--*****pom.xml-->
...
 <groupId>${packageName}</groupId>
    <artifactId>{name}</artifactId>
    <version>1.0-SNAPSHOT</version>
...
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft