如何将多个 xls 文件中的 xls 数据加载到 hive 中?
Posted
技术标签:
【中文标题】如何将多个 xls 文件中的 xls 数据加载到 hive 中?【英文标题】:How to load xls data from multiple xls file into hive? 【发布时间】:2015-04-03 09:37:33 【问题描述】:我正在学习使用 Hadoop 执行大数据相关操作。
我需要对跨越 8 个 xls 文件的数据集集合执行一些查询。每个 xls 文件都有多个工作表,并且查询只涉及其中一个工作表。
数据集可以在这里下载:http://www.census.gov/hhes/www/hlthins/data/utilization/tables.html
我没有为我的任务使用任何 hadoop 的商业发行版,只是在 VmWare 中设置了一个主虚拟机和一个从属虚拟机,其中包含 Hadoop、Hive、Pig。
我是 Hadoop 和大数据的新手,所以如果有人能指导我如何进一步进行,我将不胜感激。
如果您需要有关查询或其他任何信息的信息,请告诉我。
谢谢。
【问题讨论】:
【参考方案1】:在 hive 中,您不能像加载 txt 或 csv 文件那样直接从 xls 将数据加载到表中。
你有两个选择:
-
编写一个应用程序(例如,Java)来读取 xls 文件并将它们转换为可以直接加载到配置单元中的文本或 csv 文件。
或
-
您可以创建自己的 serde(Serializer 或 Deserializer),以解析要加载到表中的 xls 数据。
两者各有利弊,但如果您打算使用与 HIVE 交互的应用程序进行加载、查询、转换等操作。您可以选择选项 1。但是,如果您打算通过脚本/批处理等进行操作,您可以选择选项 2。
【讨论】:
感谢 Srikanth 的回答 :) @srikanthNutigattu 我需要使用 hive 读取 HDFS 中的 shapefile。我知道我应该使用编写自定义 SerDe 的选项 2。但无法获得任何适当的样本或示例。任何帮助都会非常有用以上是关于如何将多个 xls 文件中的 xls 数据加载到 hive 中?的主要内容,如果未能解决你的问题,请参考以下文章
将多个 .xls 文件添加到单个 .xls 文件中,使用文件名命名选项卡
如何从 Scala Spark 中的 Excel (xls,xlsx) 文件构造数据框?