草庐IT

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

json - 使用 Hive 向 Hbase 中插入数据(JSON 文件)

我已经使用hive在hbase中创建了一个表:hive>CREATETABLEhbase_table_emp(idint,namestring,rolestring)STOREDBY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITHSERDEPROPERTIES("hbase.columns.mapping"=":key,cf1:name,cf1:role")TBLPROPERTIES("hbase.table.name"="emp");并创建了另一个表来加载数据:hive>createtabletestemp(idint,na

mysql - Hive-1.1.0 在将数据插入创建的表时显示错误(使用 hadoop-2.5.1)

我成功地创建了表:CREATETABLEmovie_example(titleSTRING,idBIGINT,directorSTRING,yearBIGINT,genresARRAY)ROWFORMATDELIMITEDFIELDSTERMINATEDBY','COLLECTIONITEMSTERMINATEDBY'$'MAPKEYSTERMINATEDBY'#'LINESTERMINATEDBY'\n'STOREDASTEXTFILE;当我尝试使用以下方法向该表中插入数据时:LOADDATALOCALINPATH'//hiveExample.txt'OVERWRITEINTOTAB

hadoop - HIVE:UDF 错误失败:找不到类 <ClassName>

我正在尝试使用myjar.jar作为HIVE中的UDF函数,如下所示,echo"Addmyjar.jar"$HIVE_HOME/bin/hive-e"ADDJAR/gpfs/user/username/HIVE/myjar.jar;"echo"Listmyjar.jar,thisisshowinglocaldirectorypath"$HIVE_HOME/bin/hive-e"listjar;"$HIVE_HOME/bin/hive-e"dropfunctionifexistsmyfunction;"echo"Createtemporaryfunction,myclassnameisU

hive中array相关函数总结

目录hive官方函数解释示例实战hive官方函数解释hive官网函数大全地址:hive官网函数大全地址ReturnTypeNameDescriptionarrayarray(value1,value2,…)Createsanarraywiththegivenelements.booleanarray_contains(Array,value)ReturnsTRUEifthearraycontainsvalue.arraysort_array(Array)Sortstheinputarrayinascendingorderaccordingtothenaturalorderingofthearr

mysql - 如何在 Hadoop Hive 中获取子字符串?

我的问题是如何通过字符串中的指示在Hive中获取子字符串。我的列值格式是这样的:/Country/State/City/Suburb/Street这里我只需要得到Country。我喜欢SPLIT,它返回由“/”分隔的字符串数组。还有SUBSTR(stringa,intbegin),它从指定的开始返回一个子字符串。在split中,我需要再次访问一个数组,其中第一个元素是所需的元素,但只想知道是否有任何其他更简单的方法来获取国家/地区。谢谢 最佳答案 我尝试使用正则表达式来提取Country。使用正则表达式配置单元查询是:selectr

regex - 在 Hive 表中以 CSV 格式加载数据

我正在尝试将以下数据存储在csv文件中到Hive表中,但未能成功Ann,78%,7,Beth,81%,5,Cathy,83%,2,数据存在于CSV文件中。我使用以下定义在Hive中创建了表:Hive>CREATETABLEtest1(NameString,PercString,RankString)ROWFORMATSERDE'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'WITHSERDEPROPERTIES("input.regex"="^(\w+)\,(\w+)\%\,(\w+)$","output.format.string"

mysql - 使用Sqoop将MySQL导入Hive时如何指定字段分隔符?

我尝试使用Sqoopv1.4将MySQL表导入Hivesqoopimport--connectjdbc:mysqll//localhost:3306/mysqldb\--usernameuser--passwordpwd--tablemysqltbl\--hive-import--hive-overwrite\--hive-tablehivedb.hivetbl-m1\--null-string'\\N'\--null-non-string'\\N'\mysqltbl中有100行,其中一个字段text包含\t和\n,导致Sqoop错误地解析数据,即hivetbl中有超过100行并且字段