3

プレストを使用して、ハイブに Avro テーブルを作成しました。以下のクエリを使用して

CREATE TABLE  hive.psa_sbox.avro_testing (
id bigint


)
WITH (
   format = 'AVRO',
    external_location = 'my/datalake/data/folder/avro_data',
   avro_schema_url = 'my/datalake/schema/folder/hello.avsc'
)

presto テーブルが正常に作成されていることがわかります。しかし、テーブルの内容を照会/表示しようとすると、以下のエラーが表示されます:

[2021-11-03 12:56:07] Error executing query
[2021-11-03 12:56:07] com.facebook.presto.jdbc.internal.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `com.facebook.presto.jdbc.internal.common.type.TypeSignature` (although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator)
[2021-11-03 12:56:07] at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: com.facebook.presto.jdbc.internal.client.QueryResults["columns"]->java.util.ArrayList[0]->com.facebook.presto.jdbc.internal.client.Column["typeSignature"]->com.facebook.presto.jdbc.internal.client.ClientTypeSignature["arguments"]->java.util.ArrayList[0]->com.facebook.presto.jdbc.internal.common.type.NamedTypeSignature["typeSignature"])

ユーザーが avro スキーマを外部ファイルとして指定してテーブルを作成できないと述べたブログを見つけましたが、テーブル定義で avro スキーマを指定すると、ブログ リンクが機能します。しかし、私は avro.schema.literal を使用できないことがわかりました。この git repo hiveテーブルのプロパティに従って利用できる唯一のオプションはavro_schema_urlであり、このプロパティは場所のみを受け入れます。

この点で何か助けてください。

4

0 に答える 0