草庐IT

mysql - 使用 Sqoop 从 MySQL 导入到 Hive

我必须通过Sqoop将MySQL表(具有复合主键)中的>4亿行导入到分区的Hive表Hive中。该表有两年的数据,一列出发日期从20120605到20140605,一天有几千条记录。我需要根据出发日期对数据进行分区。版本:ApacheHadoop-1.0.4Apachehive-0.9.0ApacheSqoop-sqoop-1.4.2.bin__hadoop-1.0.0据我所知,有3种方法:MySQL->未分区Hive表->从未分区Hive表插入已分区Hive表MySQL->分区Hive表MySQL->非分区Hive表->ALTER非分区Hive表以添加PARTITION是我正在关注的

jdbc - Hive JDBC 客户端抛出 SQLException

我正在使用JDBC客户端代码连接到配置单元安装。我创建了一个包含两列(column1,column2)的测试表,它们都是字符串类型。当我尝试执行像“select*fromtest”这样的简单查询时,我在Java程序中得到了结果,但是使用where子句和其他复杂查询的查询会抛出以下异常。“查询返回非零代码:1,原因:失败:执行错误,从org.apache.hadoop.hive.ql.exec.MapRedTask返回代码1”我已经尝试更改存在文件的hdfs目录的权限,/tmp在本地目录上,但这没有用。这是我的连接代码Connectioncon=DriverManager.getConn

sql - Hive是否支持Select中的Select?

Hive中的以下代码是否可能,并进行一些更改?:insertintotablewebmapselecta.resreference,b.resresource,(selectcount(ip)fromweblogwhereresource=a.resandreferer=b.res)weightfromtoprefresajointoprefresb;我在hive-0.10.0-cdh4.5.0中运行它并得到错误:FAILED:ParseExceptionline3:1cannotrecognizeinputnear'select''count''('inexpressionspeci

hadoop - 减少许多 hive -e 调用的 hive 启动时间

我以这种方式从命令行调用hive-e数百次:cathive_script.hql|parallel--gnuhive-e'{}'hive_script.hql中的每一行都可以以任意顺序独立运行。有没有--hiveconf参数可以减少启动时间?Apache网页似乎暗示可能在https://cwiki.apache.org/confluence/display/Hive/LanguageManual+VariableSubstitution"ThisisfrustratingasHivebecomescloselycoupledwithscriptinglanguages.TheHives

java - 使用 Java 检索 Hive 表位置

有没有办法使用hive表检索hdfs位置Javajdbc.例如:我有一个临时表t1。在位置“/user/tables_list/t1”;我想使用java代码检索此位置。 最佳答案 据我所试,没有直接的方法可以做到这一点。但是,一旦您设置了JDBC连接,您就可以执行“DESCRIBEEXTENDED”,这(在我所做的测试中)将列出表列:res=stmt.executeQuery("DESCRIBEEXTENDEDtweets");while(res.next()){System.out.println(res.getString(1)

hadoop - hive-hbase 集成错误

我使用的是hive版本0.12.0,hadoop版本2.4.0和hbase版本0.98.3我在hbase中创建了一个表信息,用一行数据填充它,为hive提供访问权限(使用外部表)运行查询时selectcount(*)frominfo;我明白了TotalMapReducejobs=1LaunchingJob1outof1Numberofreducetasksdeterminedatcompiletime:1Inordertochangetheaverageloadforareducer(inbytes):sethive.exec.reducers.bytes.per.reducer=In

hadoop - 在 Amazon S3 中创建由 Avro 文件支持的 Hive 表时出现问题

我一直在尝试在S3中创建一个由Avro文件支持的Hive表。最初,我认为这可能相对简单,但我遇到了以下错误。这是创建表的命令:setfs.s3.awsAccessKeyId=ACCESS_KEY_ID;setfs.s3.awsSecretAccessKey=SECRET_ACCESS_KEY;usesome_database;CREATEEXTERNALTABLEexperiment_with_s3_backed_dataROWFORMATSERDE'org.apache.hadoop.hive.serde2.avro.AvroSerDe'WITHSERDEPROPERTIES('av

hadoop - Hive - 按问题分组

我在Hive中基于2个字段(A和B)进行分组。但它并没有为A和B的每个组合显示一个聚合值。它显示多个值,如AB1一个B4等等是不是因为reducer的数量多于1个,如何避免这个问题? 最佳答案 最近我遇到了类似的问题,在我的HQL中,我使用insertoverwritedirectory'$HQL_OUT_PATH'来覆盖输出。但它似乎不稳定导致重复项。你可能清理HQL之前的输出路径,看输出结果是否正确。 关于hadoop-Hive-按问题分组,我们在StackOverflow上找到一个

hadoop - Hive 支持过滤 Unicode 数据

我有一个包含Unicode数据的Hive表。当尝试执行一个简单的查询“SELECT*FROMtable”时,我以正确的Unicode编码返回了正确的数据。但是,当我尝试添加诸如“...WHEREcolumn='someunicodevalue'”之类的过滤条件时,我的查询没有返回任何结果。是Hive的限制吗?或者有没有办法使Unicode过滤与Hive一起工作?谢谢! 最佳答案 你应该使用utf-8格式并将数据加载到hive表中,然后你可以使用你之前编写的内容获取数据,例如...名称如“%你好%”

hadoop - 登录 Hive,log4j 文件

我正在尝试通过命令窗口访问Hive。我只是在适当的目录中运行“Hive”,但出现错误“登录被拒绝”。我读过log4j用于登录,但我不知道我是否必须创建一个帐户并在那里写入我的用户数据。非常感谢 最佳答案 Hive服务现在应该可以正常工作了。从您自己的FI-LAB虚拟机,您只需使用您的Cosmos凭据登录到头节点(如果您没有Cosmos凭据,请通过注册here获取):[root@your_filab_vm]$sshcosmos.lab.fi-ware.org登录到头节点后,键入以下命令:[your_cosmos_username@co