Hiveデータベースのバイナリ型byte[]格納メソッド、サポートされていないメソッド

Hive は、JDBC 経由でバイナリ型データを保存するときにメソッドがサポートされていないと報告します

Hive の jdbc パッケージは、バイナリ データを格納するための直接 prepareStatement および直接 setObject、setBytes、setByte、および setBlob をサポートしていません。

setBinaryStream による入力ストリーム メソッド:

まずバイナリ配列を入力ストリームに変換します。

InputStream 入力 = new ByteArrayInputStream((byte[]) obj);

次に、setBinaryStream() を通じてバイナリ入力ストリームをデータベースに保存します。

その後、jdbc がデータを読み取るときに、入力ストリームを通じてそれを読み取り、出力ストリームを通じて byte[] に変換します。

入力ストリーム inStream = rs.getBinaryStream(列名);

ByteArrayOutputStream swapStream = 新しい ByteArrayOutputStream();

byte[] buff = new byte[100]; //ループで読み取られるストレージ一時データ

おすすめ

転載: blog.csdn.net/icemeco/article/details/119939188