我试图将数据从phpinfo()
导入到mysql
。
我可以使用hdfs
来做到这一点,但这也可以通过从 api 中获取数据来完成。
我的问题是有关何时使用 rest api 将数据加载到hdfs中而不是sqoop
上吗?
请说明一些用例的区别!
答案 0 :(得分:0)
Sqoop (SQL <=> Hadoop)基本上用于将数据从 RDBMS加载到HDFS 。
这是与数据库的直接连接,如果未正确定义用户从sqoop访问db的权限,则可以使用sqoop eval命令添加/修改/删除表中的数据
但是使用 Rest Web服务api ,我们可以从内部通过代码连接的各种数据库(可以是NoSQL或RDBMS两者)中获取数据。
考虑您正在使用curl命令调用getUsersData静态Web服务,该命令专门设计用于提供用户数据,并且无论数据库(RDBMS / NoSQL)如何都不允许附加/修改/更新db的任何组件
答案 1 :(得分:0)
您可以使用Sqoop将数据从Mysql提取到Hbase,然后将REST API放在Hbase上(在Hadoop上)...与通过Mysql的REST API没什么不同。
基本上,您是在比较两个不同的东西。 Hadoop并不是要取代传统的数据库或N层面向用户的应用程序,它只是一个分布更广,容错能力强的地方,用于存储大量数据。
通常,您将不使用REST API与数据库进行通信,然后将这些值放入Hadoop,因为它将不会被分发,并且所有数据库结果都将通过单个过程进行处理