問題タブ [hive-serde]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1451 参照

csv - ハイブSQL、フィールドを引用しない方法を教えてください。

デフォルトでは、serde は " でフィールドを引用するため、serde を使用して自分のフィールドを引用しないようにするにはどうすればよいですか?

私は試した:

しかし、私は得ています

0 投票する
0 に答える
1289 参照

json - Hive: Hive テーブルに入れ子になった JSON データに関する課題

深くネストされた JSON データをハイブ テーブルにロードしようとしています。私がこれまでに試したことを教えてください。

1-JSONファイルがあり、構造体フィールドを持つ構造体の配列のように深くネストされています。

2- この json データを Spark Data フレームに正常にロードし、スキーマを表示できました。さらに、spark シェルから以下のコマンドを使用して、このデータフレームをハイブ テーブルとして正常に保存しました。

しかし、次のようなクエリを実行しようとするとselect * from patent_data_2001 limit 1

以下のエラーが表示されます

3- Spark Shell から以下のコマンドを使用して、Spark SQL spllied jar の代わりに Hive serde を使用しようとしました

それでも同じエラーです。

ハイブウェアハウスにテーブルを作成してデータをロードしますが、テーブルをクエリしたり、テーブルを記述しようとするとエラーが発生します。

4- この問題が Spark SQL と Hive の互換性に関連している可能性があると仮定します。テーブルが作成され、テーブルのスキーマだけが間違っていたので、スキーマを修正することを考えました。私はスキーマを手動で修正しようとしましたが、そうです、それは長くて本当に時間がかかるプロセスであり、最終的にスキーマを修正しました。Create table statement以下に示すように、手動でハイブテーブルを再度作成しました。

しかし、再び同じエラーが発生しました。

5-以下のリンクにリストされているSerdeを使用しようとしました

しかし、まったく運がありません。

6-調査中に、これらのJIRAで言及されている問題である可能性があることがわかりました

そして、以下のserdeでテーブル作成を実行しました

しかし、他の詳細なしで同じエラーが発生しています。

これらのエラーが発生する理由と、ハイブでテーブルを正常に作成できるのに、テーブルのクエリを実行できない理由がわかりません。

どんな助けや提案も本当に役に立ちます。助けてください。

どうもありがとう。

0 投票する
2 に答える
1288 参照

hadoop - EBCDIC から ASCII ファイル形式への変換 - ハイブの SerDe。EBCDIC ファイルの区切り文字の問題を解決する方法

/n のようなものは、ebcdic にはありません。ebcdic では改行はサポートされていません。そのようにどのように変換すればよいですか。ebcdic には区切り文字がありません。したがって、このファイルの変換中。新しい回線が来たことをどうやって知ることができますか? 提案してください。

0 投票する
1 に答える
274 参照

regex - 正規表現を使用してログ ファイルの行を照合する場合のオプション フィールド

RegexSerDeを使用して正規表現で Web ログを解析しようとしています。各正規表現グループをテーブル内の列と照合することで機能し、正規表現グループが空の場合、その列に null を割り当てます。

欠落しているフィールドとログ行を一致させるのに問題があります。このログには、次の 2 種類の行があります。

最初のタイプの行とすべてのフィールドに一致する以下の正規表現を作成しました。

しかし?、最初の 4 の後のフィールドをオプションで無視するように正規表現を取得するためにいじりましたが、列を台無しにし続けました。

?グループの数を変更せずに (デシリアライザーが咳をしないように)を追加する方法について何か提案はありますか? または、これを行う他の方法はありますか?

0 投票する
1 に答える
1504 参照

hadoop - Hive を使用して protobuf 列を逆シリアル化する

私はハイブに本当に慣れていないので、質問に誤解がある場合は申し訳ありません。

Hadoop シーケンス ファイルを Hive テーブルに読み込む必要があります。シーケンス ファイルは、Hive に付属の SerDe2 を使用して逆シリアル化できるリサイクル バイナリ データです。

問題は次のとおりです。ファイル内の 1 つの列が Google protobuf でエンコードされているため、thrift SerDe がシーケンス ファイルを処理するときに、protobuf でエンコードされた列が適切に処理されません。

Hive で、thrift シーケンス ファイル内にネストされたこの種の protobuf でエンコードされた列を処理して、各列を適切に解析できるようにする方法があるのだろうか?

可能な限りの助けをありがとう!

0 投票する
1 に答える
1841 参照

hive - SerDe を使用して固定幅ファイルでハイブ テーブルをロードできない

5 つの固定幅列を持つ固定幅ファイルがあります。これがファイルの構造です。{col1:3char, col2:35char, col3:3char, col4:11char, col5:4char}. サンプルファイルはこちら

したがって、他の投稿で提案されているように、私は正規表現を使用しています。これが私が作成したDDLです。

load from local を使用してこのテーブルのデータをロードすると、すべての値が NULL になります。

DDL の何が問題なのか教えてください。2.4.2.0-258 バージョンの Hive を使用しています。