sj天问 2023-08-20 17:25 采纳率: 0%
浏览 65
已结题

idea 本地spark读取hive的lzo压缩格式表报错

在idea上执行

    val spark: SparkSession = SparkSession
      .builder()
      .master("local")
      .enableHiveSupport()
      .config("hive.metastore.uris", "thrift://XXX:9083")
      .getOrCreate()


    spark.sql(
      """
        |select
        |*
        |from
        |XXX.XXX
        |""".stripMargin).show()

    spark.close()

报错

img

  • 写回答

23条回答 默认 最新

  • CF2301_77400554X 2023-08-21 00:37
    关注
    获得100.00元问题酬金

    引用chatgpt内容作答:
    从你提供的代码和报错信息来看,这个问题很可能与 LZO 压缩库的加载和配置有关。以下是一些可能的修改,帮助你解决问题:

    1、添加 LZO 依赖: 首先,确保你的项目中已经添加了 LZO 的依赖库。在 Maven 项目中,可以在 pom.xml 中添加类似下面的依赖:

    <dependency>
        <groupId>com.hadoop.gplcompression</groupId>
        <artifactId>hadoop-lzo</artifactId>
        <version>0.4.21</version>
    </dependency>
    

    请注意,版本号可能需要根据你的需求进行适当修改。

    2、配置加载 LZO 库: 在你的 Spark 代码中,添加加载 LZO 压缩库的配置。在创建 SparkSession 之前,通过设置 spark.executor.extraLibraryPath 和 spark.driver.extraLibraryPath 来指定 LZO 库的路径。例如:

    .config("spark.executor.extraLibraryPath", "/path/to/lzo/libs")
    .config("spark.driver.extraLibraryPath", "/path/to/lzo/libs")
    

    将 /path/to/lzo/libs 替换为 LZO 库所在的路径。

    3、修改本地模式为集群模式: 将 Spark Session 的 master 参数设置为集群模式,以更好地模拟生产环境。例如,将 .master("local") 修改为 .master("yarn")。

    4、配置 Hadoop 相关环境变量: 确保你的环境变量中包括了正确的 Hadoop 配置信息。特别是,确保 HADOOP_HOME 正确设置,并且 PATH 包含了 Hadoop 相关的可执行文件目录。

    最终,你的代码可能会类似于以下示例:

    import org.apache.spark.sql.SparkSession
    
    object HiveLZOExample {
      def main(args: Array[String]): Unit = {
        val spark: SparkSession = SparkSession
          .builder()
          .master("yarn")  // Switched to cluster mode
          .enableHiveSupport()
          .config("hive.metastore.uris", "thrift://XXX:9083")
          .config("spark.executor.extraLibraryPath", "/path/to/lzo/libs")
          .config("spark.driver.extraLibraryPath", "/path/to/lzo/libs")
          .getOrCreate()
    
        spark.sql(
          """
            |select
            |*
            |from
            |XXX.XXX
            |""".stripMargin).show()
    
        spark.close()
      }
    }
    

    请根据你的实际情况,将代码中的路径、版本和配置进行适当的修改。

    评论

报告相同问题?

问题事件

  • 系统已结题 8月28日
  • 赞助了问题酬金100元 8月21日
  • 创建了问题 8月20日

悬赏问题

  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22