码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • CDH6.3整合Carbondata


    CDH6.3整合Carbondata

    • 环境准备
    • 源码修改
    • 编译
    • 编译后产生的jar包路径
    • cdh hive集成 carbondata
    • 编译后的源码地址:

    环境准备

                Maven 版本: 3.5.4
                Scala 版本 : 2.11.12 
                Spark版本: 2.4.0
                Hadoop版本: 3.0.0 
                carbondata 2.3.0 (当前最新)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    源码修改

    1: 将源码中的files.toArray 改为 files.toSeq 否则编译报错

     polymorphic expression cannot be instantiated to expected type
    
    • 1
      def createFilePartition(index: Int, files: ArrayBuffer[PartitionedFile]): FilePartition = {
          FilePartition(index, files.toSeq)
      }
    
    • 1
    • 2
    • 3

    2: 编译spark的时由于将pom文件仓库改为了cloudrea 的仓库 编译时有一个类找不到

    org.apache.spark.sql.execution.datasources.orc.OrcFileFormat 
    
    • 1

    OrcFileFormat 在原生spark-sql依赖中有该类 在spark-sql-cdh6.3.2中没有
    3: 编译hive模块时 由于将pom文件仓库改为了cloudrea 的仓库 编译时有一个类找不到

       org.apache.hadoop.hive.ql.metadata.StorageHandlerInfo 
    
    • 1

    StorageHandlerInfo 类 在原生hive-exce 依赖 而在hive-exce-cdh6.3.2中找不到该类
    4: 编译时遇到findbugs-maven-plugin插件的问题:

     Failed to execute goal org.codehaus.mojo:findbugs-maven-plugin:3.0.4:check (analyze-compile) on project carbondata-core: failed with 1 bugs and 0 errors 
    
    • 1

    解决方案:
    1: 将 maven-duplicate-finder-plugin 插件的版本设置为1.0.9
    2: 将findbugs-maven-plugin 插件的阈值改为 High
    在这里插入图片描述
    5:Carbon-processing模块报错
    解决方案: 添加依赖

    <dependency>
      <groupId>org.apache.htrace</groupId>
      <artifactId>htrace-core</artifactId>
      <version>3.1.0-incubating</version>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    6: 找到hive-jdbc 依赖 添加exclusion

    <exclusions>
        <exclusion>
            <groupId>org.glassfish</groupId>
            <artifactId>javax.el</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-runner</artifactId>
        </exclusion>
    </exclusions>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    编译

    mvn  -DskipTests -Pspark-2.4 clean package
    
    • 1

    编译后产生的jar包路径

    在这里插入图片描述
    在这里插入图片描述

    cdh hive集成 carbondata

         1: 第一步 :将编译后产生的jar包放到hive auxlibs  目录中  并将 spark  jars 目录 中的spark-catalyst*.jar 和  scala*.jar  也复制到 hive auxlibs 目录中 
         (hive auxlibs 目录可以在cdh cm-web 控制台中找到)
         2: 复制编译后产生的jar包 放到 hive/lib/  和yarn/lib/ 
         
         第二步:修改hive-site.xml 配置
    
              在cm-web管理界面找到hive-site.xml 并添加如下的配置
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
     <property>
      <name>hive.metastore.pre.event.listeners</name>
      <value>org.apache.carbondata.hive.CarbonHiveMetastoreListener</value>
    </property>
    
    • 1
    • 2
    • 3
    • 4

    编译后的源码地址:

    https://github.com/liutaobigdata/cdh_integrate_carbondata2.3

  • 相关阅读:
    【Focal Net】NeuralPS2022 论文+代码解读 Focal Modulation Networks
    [JAVAee]Spring使用注解来存储与获取Bean对象
    HashMap的面试题
    Netty服务端启动的整体流程-基于源码4.1.96Final分析
    记录一次解题过程
    TFTP服务器,NFS服务器
    Leetcode 213. 打家劫舍 II 动态规划
    安防视频/集中云存储平台EasyCVR(V3.3)部分通道显示离线该如何解决?
    【springboot单元测试,集成测试】
    微服务和分布式的概念和区别
  • 原文地址:https://blog.csdn.net/IT_liuzhiyuan/article/details/125441248
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号