我想知道如何实时使用Hadoop组件。
这是我的问题:
数据导入/导出:
如果我是对的
1.1 sqoop命令放在shell脚本中,并从计划程序/事件触发器中调用。我可以在上面有一个实时代码示例,特别是在shell脚本中动态地将参数传递给Sqoop(例如表名)。
1.2认为也可以使用Ooozie工作流程。任何示例,请
pig
任何实时代码示例都会有很大的帮助
如果我是正确的话,那么在将数据加载到实际的hdfs路径或配置单元表之前,Pig通常用于暂存数据的数据质量检查/清理。
我们可以在shell脚本(实时项目)中看到pig脚本
请纠正我或添加,如果我错过任何
配置单元
我们将在哪里实时看到Hive命令?
在 shell 脚本或Java api调用中进行报告?
HBase
Hbase命令通常在Java之类的语言中称为api调用。
我对么?
抱歉,有太多问题。我没有看到有关如何在实时场景中使用这些组件的任何文章/博客。
提前致谢。
最佳答案
之所以看不到有关将这些组件用于实时方案的文章,是因为这些组件不是面向实时的,而是面向批处理的。
独家新闻:不实时使用-面向批处理。
我会使用Flume之类的东西来摄取数据。
pig , hive :同样,尚未实时就绪。两者都是面向批处理的。每个查询/脚本的设置时间可能需要数十秒。
您可以用Spark Streaming(甚至支持Flume)代替两者。
HBase :这是HDFS之上的NoSQL数据库。可用于实时。快速插入。可以从 Spark 中使用。
如果要使用这些系统来帮助实时应用程序,请考虑使用Lambda architecture之类的东西,它具有一个批处理层(使用hive,pig和不使用它)和一个速度层(使用流/实时技术)。
问候。