mac arm芯片 hive执行sql报错[FAILED_TO_LOAD_NATIVE_LIBRARY] no native library is found for os.name=Mac and os.arch=aarch64
方法一:
github下载源码 打包为jar 并添加到hive/lib 解决问题
下载源码
Releases · xerial/snappy-java · GitHub
可以看到新版本支持m1 m2等mac的arm芯片
因为我的版本比较老,所以我找了个最老的支持m1芯片的版本,如果能找到与spark对应的版本,建议你们根据spark依赖的版本 找到对应版本去打包,估计版本太老可能会有问题
我这里使用的是1.1.8.2
打包为mac 下的jar
在mac m1环境下make 编译 即适配了mac的arm芯片
看文档中的build.md 这是编译教程
方法二:
排除spark-core
下的snappy-java
依赖,自已重新引入一个支持m1
芯片的依赖
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.4.0-cdh6.3.2</version>
<exclusions>
<exclusion>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
<version>1.1.8.4</version>
<scope>compile</scope>
</dependency>
测试也是可以运行成功的