我比较将 avro 数据存储为 ORC 和 Parquet 格式,我成功使用 "com.twitter" % "parquet-avro" % "1.6.0" 将 Avro 数据存储到 parquet 中,但找不到任何信息或 API 来存储ORC 格式的 avro 数据。
ORC 是否仅与 Hive 紧密耦合?
谢谢 subahsh
我比较将 avro 数据存储为 ORC 和 Parquet 格式,我成功使用 "com.twitter" % "parquet-avro" % "1.6.0" 将 Avro 数据存储到 parquet 中,但找不到任何信息或 API 来存储ORC 格式的 avro 数据。
ORC 是否仅与 Hive 紧密耦合?
谢谢 subahsh
您还没有说您使用 Spark,但问题已被标记,所以我假设您是。
ORC 文件格式目前与 Spark 中的 HiveContext 密切相关(我认为仅在 1.4 及更高版本中可用),但如果您创建一个配置单元上下文,您应该能够以与您相同的方式将数据帧写入 ORC 文件镶木地板,例如:
import org.apache.spark.sql._
val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
val df = sqlContext.read.avro(("/input/path")
df.write.format("orc").save("/path/to/use")
如果您正在通过 Spark 数据帧 API 读取 avro 数据,那么这就是您所需要的,但在Hortonworks 博客上有更多详细信息