0

小さな gpdb クラスターがあります。'gphdfs'gpdbマスターからプロトコルを使用して外部テーブルを読み込もうとしているとき。環境

製品バージョン Pivotal Greenplum (GPDB) 4.3.8.2 OS Centos 6.5

取得エラー:

prod=# select * from ext_table;                                                                                      ERROR:  external table gphdfs protocol command ended with error. 16/10/05 14:42:51 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable  (seg0 slice1 host.domain.com:40000 pid=25491)
DETAIL:

Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://path/to/hdfs
        at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus(FileInputFormat.java:285)
        at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits(FileInputFormat.java:340)
        at com.
Command: 'gphdfs://path/to/hdfs'
External table tableame, file gphdfs://path/to/hdfs

試してみました: Greenplum マスター マシンの次のリンク https://discuss.pivotal.io/hc/en-us/articles/219403388-How-to-eliminate-error-message-WARN-util-NativeCodeLoader-Unable-to-load -native-hadoop-library-for-your-platform-with-gphdfs

コマンドの結果

リンクで提案されているように、「Hadoop-env.sh」の内容を変更した後、機能しませんでした。それでも同じエラーが発生します。「Hadoop-env.sh」の変更に影響を与えるために gpdb を再起動する必要がありますか。

または

gphdfs プロトコル エラーを処理する別の方法はありますか?

それについて何か助けていただければ幸いです。

失敗した外部テーブルの DDL が添付されています

create external table schemaname.exttablename(
"ID" INTEGER,
time timestamp without time zone,
"SalesOrder" char(6),
"NextDetailLine" decimal(6),
"OrderStatus" char(1),

)
location('gphdfs://hadoopmster.com:8020/devgpdb/filename.txt') FORMAT 'text'
4

2 に答える 2

2

失敗していた外部テーブル DDL を提供してください。また、gpadmin ユーザーが hdfs パスに対してデータの読み取りと書き込みを行う権限を持っていることを確認してください。ありがとう

于 2016-10-05T17:09:52.197 に答える
0

顧客サイトでこれに遭遇しました。この Pivotal サポート記事で答えが得られました: https://discuss.pivotal.io/hc/en-us/articles/219403388-How-to-eliminate-error-message-WARN-util-NativeCodeLoader-Unable-to-load- gphdfs を使用したプラットフォーム用のネイティブ Hadoop ライブラリ

于 2016-10-05T19:08:15.250 に答える