草庐IT

HIVE-SQOOP

全部标签

sql - 在 Hive 中加入查询

我想创建一个表C,其中包含表A(customer_id)和表B(customer_id)的列,表B(customer_id)包含表A中不在表B中的所有customer_id。我编写了以下查询,但没有得到填充的任何数据。createtableCASselect*from(selectcustomer_idfromAaljoinBblonal.customer_id=bl.customer_idwherebl.customer_idisnull)x;此查询显示0个结果。 最佳答案 SELECTa1.customer_idFROMAa1L

java - Hive Driver Connection 线上的 Hadoop 中的 ClassNotFoundException 引起的 NoClassDefFoundError?

通常我从谷歌搜索开始寻找解决方案,但这个错误似乎以前没有发生过。Exceptioninthread"main"java.lang.NoClassDefFoundError:org/apache/hadoop/util/Shellatorg.apache.hadoop.hive.conf.HiveConf$ConfVars.findHadoopBinary(HiveConf.java:906)atorg.apache.hadoop.hive.conf.HiveConf$ConfVars.(HiveConf.java:237)atorg.apache.hive.jdbc.HiveConne

java - MapReduce 与 Hive 的结合

我们能否使用Hive和MapReduce的组合说:我有一个csv文件。我需要找到一列的mean并将空数据替换为平均值(replacenullwithmean)。所以我们是否可以在驱动程序中编写一个hive查询(以找到均值),然后编写一个mapreduceblock以用均值替换null。哪种方式更好只编写mapreduce代码或结合使用Hive和MapReduce。 最佳答案 这是可以使用(仅配置单元)解决的另一个答案假设您的csv输入是这样的:firstname,secondname,score,group维杰,库马尔,123,cs

hadoop - 执行以下 Hive 查询 : SELECT COUNT(*) FROM TABLE; for a table with 8bn rows/40 columns/400Gb? 的大概数字是多少

执行以下Hive查询的大概数字是多少:SELECTCOUNT(*)FROMTABLE;对于下表:行数:~80亿列数:40,各种大小的int、double和stringHDFS上的大小:~400Gb我想将任何大概数字与真实数字进行比较,以查看系统配置是否正确。如果我错过了一些重要的事情,我深表歉意,我是Hive和Hadoop的新手。此外,如果机器数量也按比例增加,执行时间是否会与行数成线性比例? 最佳答案 提供大概数字是不可能的。但是我们可以列出影响因素:集群中配置的MapTask数量block大小(决定将使用的映射器的数量)执行时间

hadoop - 从多个 Hive 表中获取记录而无需连接

我有2个表:表1描述:countint表2描述:count_valint我从上面的表中获取字段计数,count_val并插入到另一个审计表(table3)中。表3描述:countintcount_valint我正在尝试将这2个表的记录计数记录到每个作业运行的审计表中。感谢您的任何建议。谢谢! 最佳答案 如果您只需要聚合(如求和),解决方案是使用UNIONINSERTINTOTABLEauditSELECTSUM(count),SUM(count_val)FROM(SELECTt1.count,0ascount_valFROMtabl

performance - Hive 查询卡在执行中间

同事们,我在配置单元中使用sql脚本执行bash文件时遇到问题-它总是卡在同一个地方map=100%,reduce=67%我尝试使用具有不同变体和其他调整特性的映射器和缩减器数量:SEThive.exec.parallel=true;SEThive.default.fileformat=RCFILE;SEThive.stats.autogather=false;SEThive.exec.compress.output=true;SETmapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;SET

mysql - Apache Sqoop 连接错误

尝试使用sqoop从mysql数据库中列出数据库时出现以下错误。我正在使用ClouderaVMCDH4,如果它没有默认预安装MySql。我按照cloudera教程安装了MySql。现在我试图从MySQl中列出数据库,但它失败了。是否存在任何jdbc连接问题?[cloudera@localhost~]$sqooplist-databases--connect"jdbc:mysql://localhost.localdomain"--userroot--passwordaaaaaaaaWarning:/usr/lib/sqoop/../accumulodoesnotexist!Accumu

hadoop - 使用 sqoop 将数据从 Hive 导出到 rdbms 时如何处理主键

这是我的场景,我在配置单元仓库中有一个数据,我想将此数据导出到mysql中名为“测试”数据库的“示例”表中。如果一列是sample.test中的主键,并且hive中的数据(我们正在导出)在该键下有重复值,那么作业显然会失败,那么我该如何处理这种情况?提前致谢 最佳答案 如果你希望你的mysql表只包含重复项中的最后一行,你可以使用以下内容:sqoopexport--connectjdbc:mysql:///test-tablesample--usernameroot-P--export-dir/user/hive/warehouse

sql - 使用 PARTITION BY (HIVE) 时如何过滤掉组中的重复元素

假设我有下表(动物):**Color****Species****Weight**WhiteDog20WhiteDog8WhiteDog33BlackDog55BrownDog80WhiteCat10BlackCat14WhiteCat9我想按物种分组,过滤每个物种内的独特颜色,并为每个过滤组找到两种最亮的动物。生成的表格应如下所示:**Color****Species****Weight**WhiteDog8BlackDog55WhiteCat9BlackCat14我正在使用以下查询(我知道这是不正确的):SELECTcolor,species,weightFROM(SELECTsp

sql - 通过选择在 Hive 中插入值

我正在尝试在配置单元列中插入某些派生值,并想知道为什么它不起作用。我的代码如下。Insertintomonthasselectmonth(datestamp)asmonthfromgc_1;此处month列已存在,其中包含NULL值,gc_1是表名。我不确定是否可以使用month、date等函数从另一列添加到hive中。 最佳答案 从你的问题来看,我认为你正在努力实现以下目标:有一个名为gc_1的表,其中已经存在一个名为datestamp的列,它可能包含一个日期适合作为month函数参数的字符串。然后您想在gc_1中创建一个名为mo