AlterTable/PartitionConcatenateあたりとして:
表またはパーティションは多くの小さなrcfileをやORCファイルが含まれている場合、上記のコマンドは、大きなファイルにマージします。 RCFileの場合、ブロックレベルでマージが行われますが、ORCファイルの場合、マージはストライプレベルで行われるため、データの解凍とデコードのオーバーヘッドが回避されます。
また:
ORCファイルの本体は、一連のストライプで構成されています。ストライプは大きい(通常〜200MB)、互いに独立した であり、よく異なるタスクによって処理される です。柱状 の格納形式の定義上の特徴は、各列のデータが個別に に格納され、ファイルから読み取るデータが、読み取られた列の数が に比例することです。 ORCファイルでは、各列は複数のストリームに格納され、ファイル内には互いに隣接して に格納されます。たとえば、整数列は、2つのストリームPRESENTとして表現された であり、値がNULLでない場合には 値の記録単位のビットを使用し、0以外の値の場合は を記録するDATAを使用します。ストライプ内の列の値がすべてNULLでない場合、 PRESENTストリームはストライプから除外されます。バイナリデータの場合、ORC はPRESENT、DATA、LENGTHの3つのストリームを使用し、各値の長さは です。各タイプの詳細は、サブセクションの に記載されています。
スパークに実装するためにあなたがスパークコンテキストの助けを借りてSparkSQLを使用することができます。
scala> val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
scala> sqlContext.sql("Your_hive_query_here")