spark创建hive外部表失败

博客内容涉及Spark运行时遇到的UnsatisfiedLinkError,该错误通常与版本不匹配有关。解决方法是将Spark版本设置为2.4.0。此外,还讨论了Spark代码尝试访问不存在的Hive数据库时的NoSuchDatabaseException。解决这个问题需要检查环境变量并配置Hive metastore的URI和仓库目录。

问题1:spark版本问题

Caused by: java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)V

一般碰到结尾为V,很可能是版本问题

解决办法:

<spark.version>2.4.0</spark.version>

附上代码地址:

user-profile-task0224: 用户画像scala计算代码

问题2:明明hue是可以直接创建的,但是spark代码一直报库不存在 

org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException: Database 'user_profile0224' not found;

解决办法:

a.检查hadooponwindows-master环境变量

b.增加配置

 val sparkConf: SparkConf = new SparkConf().setAppName("task_sql_app")
      .setMaster("local[*]")
//      .set("hive.metastore.uris","thrift://cdh01:9083")
    val sparkSession: SparkSession = SparkSession.builder()
      .config(sparkConf)
      .config("hive.metastore.uris","thrift://cdh01:9083")
      .config("spark.sql.warehouse.dir","hdfs://cdh01:8020/user/hive/warehouse")
      .enableHiveSupport()
      .getOrCreate()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值