关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
一年前关门了。
改进这个问题
我是新来的Hive和我最近有一个采访中,我被问到以下问题。有人能帮我找到正确的答案吗。
在进行分区时,如果一列中缺少数据,分区将如何处理它?
你能用sqoop导入日志文件吗?我的回答是否定的,因为sqoop用于将rdbms表中的数据导入hadoop。
在employee表中,如果任何数据的值为null,您仍然可以对其执行sqoop操作吗?
职员表提供了职员id、位置、薪资、部门、在划分和扣减时将使用什么列?我想我们可以用部门来划分,员工的身份证,地点和薪水可以用来划分,请确认。
2条答案
按热度按时间c3frrgcw1#
添加以下问题的答案和相关解释:
1) 您是从哪个栏询问数据将丢失?如果缺少分区列中的数据,则不会产生影响。如果您觉得查询的输出不正确,可以对表进行msck修复。如果分区列中缺少数据,请告诉我。
2) 这取决于日志文件的位置和方式。如果日志文件在任何rdbms服务器中都是表的形式,那么您可以对其进行sqoop操作。如果日志文件在某个ftp服务器中,那么可以执行ftp/sftp/ssh。如果日志文件在另一个集群中,那么可以使用distcp。
3) 是的,你可以跳。但是,如果直接运行sqoop导入命令,可能会遇到问题。在执行sqoop导入时,可以提供的参数很少,这些参数是--null non string'\n'&--null string'\n'->这些参数用于导入--input null non string'\n'&--input null string'\n'->这些参数用于导出这些参数将指定sqoop命令和生成的java程序,它们将由执行以导入/导出的java程序。
4) 以下是可用列“员工id”、“位置”、“薪资”、“部门”
理由:如果有10名员工,如果10人中只有6人的工资不同。如果你应用分区,你将有6个不同的目录。如果你用2个桶来应用bucketing,你将根据值来划分数据。这只是一个数据样本。想象一下,如果有大量的数据。你将有多个目录,没有文件。所以最好不要在这上面加任何东西。
lg40wkob2#
为第四个问题加分,避免在salary列上分区/bucketing的原因是我们可以像empid一样为salary创建bucket,但这没有什么意义。因为扫描empid会得到更好的绩效,而不是薪水,因为它拥有度量值。