Java ソリューションを使用してテキスト ファイルを Hive で使用する ORC ファイルに変換できるかどうかを知りたいです。
ハイブクエリを使用して変換したくありません。助言がありますか?
ORC ファイルを書き込むには、スキーマを定義し、目的のファイル名でライターを作成する必要があります。この例では、必須のスキーマ パラメーターを設定していますが、ORC ライターを制御するオプションは他にも多数あります。
TypeDescription schema = TypeDescription.fromString("struct<x:int,y:int>");
Writer writer = OrcFile.createWriter(new Path("my-file.orc"),
OrcFile.writerOptions(conf)
.schema(schema));
ここで、行バッチを作成し、データを設定して、バッチがいっぱいになったときにファイルに書き込む必要があります。ファイルが完成したら、ライターを閉じます。
VectorizedRowBatch batch = schema.createRowBatch();
LongColumnVector x = (LongColumnVector) batch.cols[0];
LongColumnVector y = (LongColumnVector) batch.cols[1];
for(int r=0; r < 10000; ++r) {
int row = batch.size++;
x.vector[row] = r;
y.vector[row] = r * 3;
// If the batch is full, write it out and start over.
if (batch.size == batch.getMaxSize()) {
writer.addRowBatch(batch);
batch.reset();
}
}
writer.close();
ORC Web サイトの詳細: https://orc.apache.org/docs/core-java.html#writing-orc-files