Sqoop - 是不是可以在 HDFS 中导入平面文件
Posted
技术标签:
【中文标题】Sqoop - 是不是可以在 HDFS 中导入平面文件【英文标题】:Sqoop - Is it possible to import flat-files in HDFSSqoop - 是否可以在 HDFS 中导入平面文件 【发布时间】:2014-04-28 07:05:50 【问题描述】:我知道可以通过 sqoop 将 RDBM 的数据导入 HDFS,但我想知道是否也可以导入平面文件。
例如,是否可以从远程 Linux 文件系统导入文件?
感谢您的帮助。
【问题讨论】:
你考虑过使用 Flume 吗? flume.apache.org @sudarshan 是的,但我真的很想知道 Sqoop 是否可行 【参考方案1】:为了将平面文件放入 HDFS,不需要 Sqoop,我认为没有任何理由为此使用 Sqoop。只需尝试以下命令。 Here 是相同的文档。
hadoop fs -put <src-linux-file-system> <target-hdfs-file-system>
【讨论】:
谢谢。但我想知道 Sqoop 的答案,例如远程平面文件的情况 让我们知道您为什么要使用 Sqoop 而不是大象 :),然后其他人可以帮助您。 我只是在研究所有的可能性。在我的项目中,我们将使用 sqoop 将 RDBM 的数据导入 hdfs。我们认为使用 sqoop 从远程源导入平面文件会更容易。如果不可能,我们当然会研究其他可能性。 我们应该始终找到满足要求的工具,而不是相反 - 祝您好运找到替代品。 @shanks_roux,如果您的主机(远程文件系统/源)安装了 Hadoop 客户端,那么它将能够读取/写入 HDFS。使用 hadoop fs -put 将是可行的选择。【参考方案2】:答案是否定的,使用sqoop导入纯文本文件,使用Flume导入
【讨论】:
【参考方案3】:Sqoop 不能用于将任何文件类型导入 Hadoop。根据您对数据摄取到 hadoop 中的及时性的要求(批处理、近实时、实时),您可以选择 fs -put(适用于宏批处理)、flume 或 kafka(适用于更频繁的更新,例如接近实时-时间用例)。对于实时摄取,您可能需要首先考虑内存,然后才是永久存储。在这种情况下,您可能需要使用一些工具,例如 Storm 或 Spark Streaming。
【讨论】:
以上是关于Sqoop - 是不是可以在 HDFS 中导入平面文件的主要内容,如果未能解决你的问题,请参考以下文章