HDFS へのファイルの書き込みなど、プログラムで Hadoop 関連の処理を使用すると、次の例外が発生します:
この問題の原因はプログラム エラーではなく、Hadoop 関連のサービスの使用です。解決策:
HADOOP_HOME を構成します。環境変数
この問題が発生する場合は、Windows の Hadoop 権限が十分ではないことが原因です。
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
at org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method)
at org.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:645)
at org.apache.hadoop.fs.FileUtil.canRead(FileUtil.java:1230)
at org.apache.hadoop.fs.FileUtil.list(FileUtil.java:1435)
at org.apache.hadoop.fs.RawLocalFileSystem.listStatus(RawLocalFileSystem.java:493)
at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:1868)
at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:1910)
at org.apache.hadoop.fs.FileSystem$4.<init>(FileSystem.java:2072)
解決策は、Windows にインストールされている hadoop bin フォルダーにある hadoop.dll を C:\Windows\System32 フォルダーにコピーすることです。それでも
この問題が発生する場合は、ローカルに C++ 依存ライブラリが存在しないことが原因です。