暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

当 24 岁的 Java,遇上 17 岁的 Vertica ...

Vertica 2022-05-24
339

关 注 V E R T I C A



你的专属数据“冷”浪漫


Java 已经 24 岁了!作为一种广受欢迎的面向对象的编程语言,它专注于提供基于桌面、Web 端、分布式系统与嵌入式系统的应用程序。


企业从未放弃谈论 Java。从《财富》500 强企业的声音中,我们能了解到他们是多么依赖 Java。是,蓝筹股喜欢 Java ...

何也?企业看重的是“向后兼容性”,而对“激进主义”是出了名的过敏。20 年前用 Java 5 编写的系统,应该要能在第 8 版下编译运行——稳定性才是最重要的。

《2022 年 Java 发展趋势和分析》报告,JRebel;《2022 年,Java 将何去何从》,Nikos Vaggalis;部分译文来自 InfoQ(ID:infochina)


关于 Java 的逸闻有一则:当时在申请商标时,原有名称被抢注,项目组从喝杯爪哇(Java)咖啡的提议中获得灵感。

同样,创建于 2005 年的老牌数据库 Vertica,也是得名于图灵奖得主、数据库大师 Stonebraker 博士。当具备广泛普适性的程序语言,与高性能的统一分析仓库相遇,将激起什么意想不到的火花?

今天,先从操作手册入手,让我们一步步走进 Vertica 集成连通性的大千世界 ▼




安装 VERTICA

如果你初来乍到,那么第一件事,就是下载试用免费的 Vertica 社区版

扫描下方二维码,填写表单,在最后一行「选择操作系统」处选择最后一个选项「VMX」,这是为了在预建的虚拟机上免费测试你的 Vertica。成功提交表单后,将有专门团队联系您!


安装虚拟机

Vertica 免费社区版的虚拟机包,提供预装好、上手即用的 Vertica,它还包含一个正在运行数据库“Vmart”。

如果提示输入密码,请输入“password”启动虚拟机。您将有两个可用的登录名:

  • root - 该用户将被用于系统管理,只用于“安装 Java 开发工具包”;

  • dbadmin - 该用户负责管理 Vertica,是我们主要使用的账户。


安装 Java 开发工具包

为了编译所提供的 Java 功能,需在 Vertica 服务器机器上安装 Java 开发工具包(JDK),您需要以根用户身份登录,在 Centos/Redhat 上运行:

    yum install java-devel


    下载 Java UDX 示例

    从 GitHub 网站下载 UDX zip:

    https://github.com/vertica/UDx-Examples

    以用户“dbadmin”的身份登录,将下载的文件传输到你的 Vertica 服务器,并将 zip 文件“UDx-Examples-master.zip”复制到 Vertica 服务器机,打开终端命令提示符并解压该文件。


    关联 Vertica x Java

    (可执行区域)

    以用户“dbadmin”身份登录,并定义“Vertica JavaBinaryForUDx”配置参数,比如:查找 Java 可执行文件

      whereis java

      记录结果,在本例通过“/usr/bin/java”内部运行 Vertica SQL 命令改变设置:

        vsql -w password -c "ALTER DATABASE VMart SET JavaBinaryForUDx = '/usr/bin/java';"


        编辑并关联 makefile x Java

        (可执行区域)

        以用户“dbadmin”身份登录以编辑 makefile,并改变“JAVA_HOME”变量设置。比如,上述例子“/usr/bin/java”的根目录“/usr”:

          vi makefile

          更改 JAVA_HOME 值:

            JAVA_HOME ?= $(SOURCE)/../third-party/jdk/jdk1.6.0_45
            JAVA_HOME ?= /usr

            保存更改,退出文件编辑器。


            编译 Java 代码样本 &

            创建 Vertica 用户定义函数

            以用户“dbadmin”身份登录,为编译 Java 函数,运行带有相关参数的“make”命令:

              make JavaFunctions


              测试 Java 自定义功能

              以用户“dbadmin”身份登录,执行提供的脚本,运行 Java UDX 函数。

              该脚本将是:创建必要的表 - 用样本数据填充表 - 运行示例函数 - 执行必要的内务管理

                vsql –w password -f JavaFunctions.sql


                测试 Java 自定义解析器

                & 过滤器函数

                Java 函数可被内嵌至 Vertica 的 SQL COPY 命令中,这意味着,在数据加载过程中可以包含用户定义的转换。

                要运行所提供的例子,还是以用户“dbadmin”身份登录,并运行下述脚本:

                  vsql –w password -f JavaUDLFunctions.sql

                  要有耐心。其中某一步骤会生成约 10m 行的数据集,这需要占用大部分时间。最后一步则是将数据集加载到 Vertica 中,相信我,它超快!


                   

                  正如之前在Vertica 技术指南 -  Qlik 篇Tableau 篇中谈到的,统一分析平台 Vertica 具有高度可扩展的 UDx 框架,广泛允许外部用户自定义的函数、分析器,以及将数据加载器安装至 Vertica 服务器等大受欢迎的能力。

                  这意味着,您用 C++、R、Java 或 Python 编写的程序,都可以作为 Vertica 的 SQL 查询函数在这一强大的数据库中运行。本文引述或建议的技术文档,均来自 Vertica 官网文档库和 GitHub 网站 ➤



                  Java UDX 在“Extending Vertica”指南中有详细记载 ▾

                  https://my.vertica.com/docs/latest/HTML/index.htm#Authoring/ExtendingVertica/ExtendingVertica.htm


                  本文引述的测试例子,可在 GitHub 找到 ▾

                  https://github.com/vertica/UDx-Examples


                  关于示意范式的更多信息,也可在“Extending Vertica”指南中找到 ▾

                  https://my.vertica.com/docs/latest/HTML/index.htm#Authoring/ExtendingVertica/UDx/UDxExampleCodeGitHub.htm



                  猛戳「阅读原文」

                  VERTICA 免费版等着你

                  文章转载自Vertica,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                  评论