如何将多个 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) 文件构造数据框?

在java servlet中将.xls文件导入mysql

list.files() 找不到文件夹中的所有文件

如何将上传的 CSV 或 XLS 文件中的数据自动导入 Google 表格

Rails 5-如何将数据从 xls 文件导入数据库