HBase到Hive示例使用Scalding

时间:2015-02-20 15:14:38

标签: scala hadoop hive hbase scalding

我正在尝试从HBase读取数据,处理它然后写入Hive。我是Scalding和Scala的新手。

我已查看SpyGlass从HBase阅读。它运行良好,我可以读取数据,然后将其写入文件。

val data = new HBaseSource(
tableName,
hbaseHost,
SCHEMA.head,
SCHEMA.tail.map((x: Symbol) => "data"),
SCHEMA.tail.map((x: Symbol) => new Fields(x.name)),
sourceMode = SourceMode.SCAN_ALL)
.read
.fromBytesWritable(SCHEMA)
.debug
.write(Tsv(output.format("get_list")))

所以现在的问题是如何将它写入Hive。如果有人设法做到这一点,我将感谢一个简单的例子或一些帮助来实现这一目标。

1 个答案:

答案 0 :(得分:1)

您实际上并不需要做任何特别的事情来写信给Hive - 您当前的代码绝对没问题。 Hive只是在存储在HDFS中的数据之上应用元数据。您需要做的就是在您正在编写的数据之上创建一个Hive表。您有两个主要选择。如果要将数据移动到Hive仓库,则需要使用以下命令加载它:

load data inpath '/your/file/or/folder/on/the/hdfs' into table your_table;

如果您不想移动数据,可以创建一个不会移动数据的external Hive表。外部表的优点是

  • 您不必将数据加载到其中,
  • 删除表格不会删除数据。