范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

大数据Hadoop之ApacheHudi与PrestoTrino集成

  一、概述
  Apache Hudi  是一个快速增长的数据湖存储系统,可帮助组织构建和管理PB级数据湖。Hudi通过引入诸如升序、删除和增量查询之类的原语,将流式处理引入到批处理式大数据中。这些功能有助于在统一服务层上更快、更新鲜的数据。Hudi表可以存储在Hadoop分布式文件系统(HDFS)或云存储上,并与流行的查询引擎(如Presto(Trino)、Apache Hive、ApacheSpark和Apache Impala  )集成良好。鉴于Hudi开创了一种新的模型,它不仅仅是将文件写入到一个更受管理的存储层,该存储层可以与所有主要的查询引擎进行互操作,因此在集成点是如何演变的方面有了有趣的经验。
  使用presto或者trino分析hudi表数据,最终将结果存储到mysql表中。
  Hive中创建表,关联Hudi表 Presto集成Hive,加载Hive表数据 Presto集成MySQL,读取或者保存数据 二、Trino 环境部署
  关于trino或者presto的介绍,可以参考我这篇文章:大数据Hadoop之——基于内存型SQL查询引擎Presto(Presto-Trino环境部署),这里部署trino单机版进行测试。 1)安装JDK
  【注意】Trino不同的版本要求的JDK版本也不一样的。这里我安装Trino最新版,JDK也安装最新版本。 wget https://cdn.azul.com/zulu/bin/zulu19.30.11-ca-jdk19.0.1-linux_x64.zip unzip zulu19.30.11-ca-jdk19.0.1-linux_x64.zip
  配置环境变量 # /etc/profile文件中追加如下内容: export JAVA_HOME=/opt/bigdata/trino/zulu19.30.11-ca-jdk19.0.1-linux_x64 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  # 加载生效 source /etc/profile2)安装python# version 2.6.x, 2.7.x, or 3.x yum -y install python3 python3 --version ln -s /usr/bin/python3 /usr/bin/python3)安装Trino
  这里部署单机版,Coordinator和Worker同进程。 1、下载解压并配置环境变量wget https://repo1.maven.org/maven2/io/trino/trino-server/401/trino-server-401.tar.gz tar -xf trino-server-401.tar.gz  # 配置环境变量/etc/profile export TRINO_HOME=/opt/bigdata/trino/trino-server-401 export PATH=$TRINO_HOME/bin:$PATH2、修改配置
  首先创建etc和data目录,后面配置文件需要用到 cd $TRINO_HOME mkdir -p data etc/catalognode.properties  cat << EOF > $TRINO_HOME/etc/node.properties # 环境的名字。集群中所有的Trino节点必须具有相同的环境名称。 node.environment=dev # 此Trino安装的唯一标识符。这对于每个节点都必须是唯一的。 node.id=trino-worker # 数据目录的位置(文件系统路径)。Trino在这里存储日志和其他数据。 node.data-dir=/opt/bigdata/trino/trino-server-401/data EOFjvm.config  cat << EOF > $TRINO_HOME/etc/jvm.config -server -Xmx2G -XX:+UseG1GC -XX:G1HeapRegionSize=32M -XX:+ExplicitGCInvokesConcurrent -XX:+ExitOnOutOfMemoryError -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -XX:ReservedCodeCacheSize=512M -XX:PerMethodRecompilationCutoff=10000 -XX:PerBytecodeRecompilationCutoff=10000 -Djdk.attach.allowAttachSelf=true -Djdk.nio.maxCachedBufferSize=2000000 EOFconfig.properties  cat << EOF > $TRINO_HOME/etc/config.properties # 设置该节点为coordinator节点 coordinator=true # 允许在协调器上调度工作,也就是coordinator节点又充当worker节点用 node-scheduler.include-coordinator=true # 指定HTTP服务器的端口。Trino使用HTTP进行内部和外部web的所有通信。 http-server.http.port=9000 # 查询可以使用的最大分布式内存。【注意】不能配置超过jvm配置的最大堆栈内存大小 query.max-memory=1GB # 查询可以在任何一台机器上使用的最大用户内存。【注意】也是不能配置超过jvm配置的最大堆栈内存大小 query.max-memory-per-node=1GB # hadoop-node1也可以是IP discovery.uri=http://local-168-182-130:9000 EOFlog.properties  cat << EOF > $TRINO_HOME/etc/log.properties # 设置日志级别,有四个级别:DEBUG, INFO, WARN and ERROR io.trino=INFO EOF配置hive数据源, hive.properties  cat << EOF > $TRINO_HOME/etc/catalog/hive.properties connector.name=hive hive.metastore.uri=thrift://local-168-182-130:9083 hive.config.resources=/opt/bigdata/hadoop/hadoop-3.3.2/etc/hadoop/core-site.xml,/opt/bigdata/hadoop/hadoop-3.3.2/etc/hadoop/hdfs-site.xml EOF配置mysql数据源, mysql.properties  # 所有节点都得添加 cat << EOF > $TRINO_HOME/etc/catalog/mysql.properties connector.name=mysql connection-url=jdbc:mysql://local-168-182-130:3306 connection-user=root connection-password=123456 EOF3、启动服务$TRINO_HOME/bin/launcher start  # 查看日志 tail -f $TRINO_HOME/data/var/log/server.log  netstat -tnlp|grep :90004、测试验证
  web访问验证:http://local-168-182-130:9000
  下载对应trino版本的客户端进行连接测试 cd $TRINO_HOME/bin/ wget https://repo1.maven.org/maven2/io/trino/trino-cli/401/trino-cli-401-executable.jar  # 改名,加执行权限 mv trino-cli-401-executable.jar trino chmod +x trino  # 非交互式连接操作 $TRINO_HOME/bin/trino --server local-168-182-130:9000 --execute="select * from system.runtime.nodes";  ### 交互式连接测试 $TRINO_HOME/bin/trino --server local-168-182-130:9000  # 命令不区分大小写 show catalogs; # 查库 show schemas from system; # 查表 show tables from system.runtime; # 查具体记录,查看当前node节点记录 select * from system.runtime.nodes;
  三、在Hive中创建表关联Hudi表
  hive 查询hudi 数据主要是在hive中 建立外部表 ,数据路径指向hdfs 路径,同时hudi 重写了 inputformat   和outpurtformat  。因为hudi 在读的数据的时候会读元数据来决定我要加载那些parquet文件,而在写的时候会写入新的元数据信息到hdfs路径下。所以hive 要集成hudi 查询要把编译的jar 包放到HIVE-HOME/lib 下面。否则查询时找不到inputformat和outputformat的类。1)添加jar包cp hudi/hudi-0.12.0/packaging/hudi-hive-sync-bundle/target/hudi-hive-sync-bundle-0.12.0.jar $HIVE_HOME/lib  # 重启metastore服务 nohup hive --service metastore &  # 重启hiverserver2 nohup hive --service hiveserver2 > /dev/null 2>&1 &  # 查看日志 tail -f /tmp/root/hive.log  # 连接 beeline -u jdbc:hive2://local-168-182-130:10000  -n root2)创建库表关联Hudi### 1、创建数据库 CREATE DATABASE IF NOT EXISTS hudi_hive; USE hudi_hive;  ### 2、创建hive表,指定数据存储路径,关联hudi表路径。 beeline -u jdbc:hive2://local-168-182-130:10000  -n root  CREATE EXTERNAL TABLE hudi_hive.tbl_customer( id string, customer_relationship_id string, create_date_time string, update_date_time string, deleted string, name string, idcard string, birth_year string, gender string, phone string, wechat string, qq string, email string, area string, leave_school_date string, graduation_date string, bxg_student_id string, creator string, origin_type string, origin_channel string, tenant string, md_id string )PARTITIONED BY (day_str string) ROW FORMAT SERDE "org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe" STORED AS INPUTFORMAT "org.apache.hudi.hadoop.HoodieParquetInputFormat" OUTPUTFORMAT "org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat" LOCATION "/hudi-hive/customer_hudi" ;
  就会在DFS上创建相关的目录
  数据来源可以是flink或者spark任务去写数据,根据具体场景而定。 四、Hudi 与 Trino集成
  trino 集成hudi 是 基于hive catalog , 同样是访问hive 外表进行查询,如果要集成,需要把hudi trino jar包copy 到trino plugin hive插件下面。 cp hudi/hudi-0.12.0/packaging/hudi-trino-bundle/target/hudi-trino-bundle-0.12.0.jar $TRINO_HOME/plugin/hive/
  查询 $TRINO_HOME/bin/trino --server local-168-182-130:9000  show schemas from hive; show tables from hive.hudi_hive;  select * from hive.hudi_hive.tbl_customer;
  trino或者presto将需要查询的数据进行统计写入到其它数据源,这是trino/presto的优势,因为trino/presto本身支持很多种数据源(catalog)。
  Hudi与Trino(Presto)的集成讲解就先到这里了,有任何疑问欢迎给我留言,后面会持续更新【大数据+云原生】相关的文章,请小伙伴耐心等待~

武汉市汉口北属于汉口还是黄陂管辖?所谓的汉口北,是位于汉口府河以北的一块地,行政上属于黄陂区滠口街道,2000年左右从滠口街道划归盘龙城经济开发区代管,为承接汉正街的外迁,2004年开始,市区两方面决定将其建设成三工资对于我们的意义是什么?工资,对于我来说,只是银行的符号。1,我退役金1万多。但是很悲催,卡都看不见摸不着。老婆拿了也不用,都成了银行的符号,如果存到300万,每个月利息就是1万元。2,但我有开销。每个月有哪些公务员事业单位的岗位,钱多轻松,适合已婚女性?我同学自从考进了事业单位,那真是钱多事少离家近,每天生活爽歪歪,让我们在私企的同学羡慕不已,让我不禁好奇她到底考的什么单位,这么滋润。一多次备考当炮灰,终于考上岸我高中同学叫萌萌,男人五十五岁每天跑步好吗?个人不建议天天跑步锻炼!54岁的我已经坚持跑步锻炼6年多了,现在总跑量已经达到15000公里,203050100公里越野跑跑过骑跑玩过半程马拉松全程马拉松跑过,日常跑步锻炼基本上是让您选择一种爱吃吃一辈子的食物是什么?馍馍夹咸菜。鸡鱼肉好,天天吃就腻了海参鲍鱼好,天天吃一是吃不起,二是吃常了也就吃够了。只有馍馍夹咸菜能够陪伴我们一生,为我们提供营养提供力量。让我爱吃一辈子的食物是辣椒,每顿必食,三峡水库有多少水?这个问题怎么说呢,我们先看看官方资料给出的解释,水库大坝总长3035米,坝顶高程185米正常蓄水位初期156米,后期175米总库容393亿立方米,其中防洪库容221。5亿立方米。这沿江高铁天门站规划在哪里?谢谢邀请,既然你问到了沿江高铁在天门哪里设站,那么可以确定沿江高铁必定经过天门,那么天门的站点设在哪里呢?这个得从整个湖北江汉平原的交通格局说起。我们知道天门是湖北三个直管县之一,一名即将毕业的大学生,怎么样选择就业?作为874大军的一员,也许路的方向就在如下第一,要准备各种招聘考试与形式。疫情下,招聘也只有在网上各种形式,很多企业也推迟了招聘计划,例如公务员考试事业单位考编等等,如此一来,实习为什么到营业厅充话费就会免费送一部手机?有什么猫腻?今天头一次听说有这好事,那里送?我不怕猫腻立刻去冲!运营商的套路,充话费送手机都是需要一定的月套餐,而且是一年或两年绑定送的手机的,中间手机坏了换新手机还不能返还话费,等于换手机也华为matebooke好吗?华为MateBookE在性能上面,可以选择i51130G7或者i71160G7处理器,二者都采用英特尔10nm工艺,TDP为715W,均为4核心8线程,其中i51130G7基础频率传言阿里将裁2万员工一些部门彻底消失,现实吗?意味着什么?本来一家企业的部门裁撤员工增减是正常的业务调整或人事调整,无可厚非,但阿里这种互联网头部企业明星企业,一举一动都有多少双眼睛盯着,轻微的风吹草动就可能引发关注和猜测。这不,最近网上
建议家里有这2款茅台酒,赶紧喝掉,不适合收藏,行家才懂茅台,是业内公认的行业老大,更是国人公认的国酒,是收藏价值最高的白酒之一。可惜,茅台因为工艺特殊,再加上对地理环境非常挑剔,产能有限,这就导致出现茅台一瓶难求的现象,身边不少人都是此菜大量上市,含有8种氨基酸,中老年人常吃身体好,早看早受益头条创作挑战赛此菜大量上市!含有8种氨基酸,中老年人常吃身体好,早看早受益春季万物生长的日子,多吃新鲜应季的食物身体更健康。新鲜鱼肉和水果蔬菜蛋白质高的食材等等食物养生比较好,能够几个妙招正确保存大蒜来源今晚报今晚报讯(记者狄慧)大蒜是一种很好的作料,本市专业厨师陈涛教大家几招保存大蒜的小妙招。低温保存法。首先把大蒜掰成一瓣瓣的,剥好后把大蒜挑出,用保鲜袋装好封口,放到冰箱的冷海螺蒸多久才熟,蒸海螺的正确方法蒸几分钟海螺是一种比较便宜的,也比较常见的海鲜,大多数人都非常喜欢吃,有一部分人没有烹饪过海螺,不知道海螺要蒸多长时间能熟,这个时间是非常重要的,因为时间不够,不能将它煮熟的话,吃了会危害南沙群岛支点仙宾礁南海海域面积为350万平方千米,在这片海域主要分布着我国四大群岛。四大群岛分别是东沙群岛,中沙群岛,西沙群岛和南沙群岛。东沙群岛分布海域面积为5000平方千米,现在由我国台湾省高雄正月十五来过赛装节永仁吃住行游全攻略!来源云南日报赛装赛到日头落,跳脚跳迄月当空!正月十五元宵节恰逢永仁直苴流传了千年的彝族赛装节。热情好客的永仁人民诚邀四海宾朋,一起循着千年的赛装足迹,走上世界最古老的乡村T台,品味国家级非遗鸟虫篆重回青岛娘家青岛是东夷文化发源地之一,也是鸟虫篆古文字原始发原地之一。2022年5月,随着青岛市市南区文化旅游局的文化进万家活动,国家级非遗项目鸟虫篆重新回到了自己的娘家青岛,落户青岛市市南区蓝白小镇突尼斯蓝白小镇(SidiBouSaid)被美国国家地理杂志选为世界十大浪漫小镇之一,小镇坐落在地中海的悬崖之上,建筑颜色以蓝白为主。小镇极具阿拉伯风情和西班牙安达卢西亚风格,蓝白之最美海上月定格在奥帆主题摄影大赛完美收官半岛全媒体记者刘红为全方位展示青岛奥帆海洋文化旅游区魅力风采,视觉传递奥帆海洋文化气息和时尚活力,最美海上月定格在奥帆主题摄影大赛颁奖典礼于2月28日在青岛国际会议中心举行。经过网想不到湖北荆州城区有这么多地名与水有关湖北荆州位于长江中游,它临江而建,境内水系发达,湖泊河道众多,是名副其实的水城,创造了丰沛厚重的水文化。在荆州城区,有不少地名路名都与水有关。下面为大家盘点一下。1。江陵江陵是个古克莱不会自满希望好状态能延续到六月北京时间2月25日,金州勇士主场116101轻取休斯敦火箭,全场命中12记三分的克莱汤普森赛后坦言自己并不满足于此。虽然球队的表现就像过山车般起起伏伏,但我在这里做着我热爱的事情,