以下是场景:
假设您有一个存储twitter数据的Hive Table。
假设它有5列。一列是文本数据。
现在,如何添加存储来自twitter文本数据的sentiment Analysis的情感值的第6列。我计划使用情感分析应用程序接口,如Sentiment140或viralheat。
我非常感谢任何关于如何在Hive中实现“派生”列的技巧。
谢谢。
发布于 2013-02-27 11:23:40
不幸的是,虽然Hive API允许您向表中添加新列(使用ALTER table foo add COLUMNS (bar binary)),但这些新列将为NULL并且不能被填充。向这些列添加数据的唯一方法是清除表中的行并从新文件加载数据,该新文件包含该新列的数据。
回答你的问题:你不能,在蜂巢里。要执行您建议的操作,您必须有一个包含6列的文件,第6列已经包含情感分析数据。然后可以将其加载到HDFS中,并使用Hive进行查询。
编辑:我刚刚尝试了一个例子,我在添加新列(见上)后将表导出为.csv,并将其弹出到M$ Excel中,在那里我可以对表值执行函数。在添加函数之后,我只是保存并上传了.csv,并从它重新构建了表。我不确定这对您是否有特别的帮助(因为情感分析不太可能在Excel中完成),但可能对其他任何想要在Hive中具有计算列的人有用。
参考文献:
https://cwiki.apache.org/Hive/gettingstarted.html#GettingStarted-DDLOperations
http://comments.gmane.org/gmane.comp.java.hadoop.hive.user/6665
发布于 2013-03-23 16:15:31
您可以在两个步骤中完成此操作,而无需单独的表。步骤:
注意:这尚未在群集安装上进行测试。
https://stackoverflow.com/questions/13425623
复制相似问题