草庐IT

test_hive

全部标签

hadoop - 在 Hive 中编码列

我正在使用Sqoop将一个表从mysql导入到hive。有些列是latin1编码的。有什么办法可以做到:在Hive中将这些列的编码设置为latin1。或者在使用sqoop导入时将列转换为utf-8? 最佳答案 在Hive中--default-character-set用于设置整个数据库的字符集,而不是特定于少数列。我无法找到Sqoop参数,该参数会将表列快速转换为utf-8,而列应该设置为固定类型。$sqoopimport--connectjdbc:mysql://server.foo.com/db--tablebar\--dire

sql - 生成 map 的 Hive 聚合函数

我有以下配置单元表ID、类、值1,A,0.31,B,0.41,C,0.52,B,0.12,C,0.2我想得到ID,类:值1,[A:0.3,B:0.4,C:0.5]2,[B:0.1,C:0.2]我知道有一个collect_set()UDAF可以生成类列表或值列表,是否可以获取键值对列表?注意:我想我可以使用两个collect_set(),一个用于类列,一个用于值列,但我不确定列表的顺序是否相同。 最佳答案 我使用Brickhouse库中的UnionUDAF来做类似的事情。您从每一对创建一个映射,然后在聚合过程中将它们联合在一起。Add

java - 如何在 Hive JDBC 中禁用详细日志记录

有人知道如何禁用日志记录或降低HiveJDBC驱动程序的冗长程度吗?我正在使用hive-jdbc-0.8.1.jar并且我也在远程调试,因此,当查询一个巨大的数据集时,控制台消息的日志记录需要永远。我试图将我的log4java属性设置为仅错误级别:Propertieslog4jProperties=newProperties();log4jProperties.setProperty("log4j.rootLogger","DEBUG,myConsoleAppender");log4jProperties.setProperty("log4j.appender.myConsoleApp

hadoop - 如何从本地磁盘而不是 HDFS 上的数据在 Hive 上创建外部表?

对于HDFS上的数据,我们可以做CREATEEXTERNALTABLE{idINT,nameSTRING,ageINT}LOCATION'hdfs_path';但是如何为上面的LOCATION指定本地路径呢?谢谢。 最佳答案 您可以先使用“hdfsdfs-put”将文件上传到HDFS,然后在其上创建Hive外部表。Hive无法在本地文件上创建外部表的原因是,当Hive处理数据时,实际处理发生在Hadoop集群上,您的本地文件可能根本无法访问。 关于hadoop-如何从本地磁盘而不是HDF

hadoop - 配置 Hive 以本地模式运行

您好,我正在尝试以本地模式运行Hive,我已经设置了HIVE_OPTS环境变量exportHIVE_OPTS='-hiveconfmapred.job.tracker=local-hiveconffs.default.name=file://///hivelocal/tmp-hiveconfhive.metastore.warehouse.dir=file://///hivelocal/warehouse-hiveconfjavax.jdo.option.ConnectionURL=jdbc:derby:;databaseName=//hivelocal/metastore_db;cr

hadoop - 执行查询时 Hive 出现 IllegalArgumentException

好的,所以我正在尝试在配置单元上执行SHOWDATABASES,但是当我执行它时,它会返回此错误Failedwithexceptionjava.io.IOException:java.lang.IllegalArgumentException:java.net.URISyntaxException:RelativepathinabsoluteURI:${system:user.name%7D我检查了我的XML以查看发生了什么,但我没有做任何更改来修复此错误。这是XML的相关部分:hive.exec.scratchdir/tmp/hive-${user.name}HDFSrootscra

hadoop - 使用 UDF 的输出设置 Hive 变量

我正在尝试使用UDF函数的输出设置一个Hive变量,这样我就可以稍后在我的.hql脚本中的INSERTINTOmyTable中使用该值。这是myTable的DDL:CREATETABLEmyTable(CreationTimestampTIMESTAMP,TablenameCHAR(50),LastExtractedTimestampTIMESTAMP,OozieJobIDCHAR(40));以下无效:sethiveconf:ct=selectcurrent_timestamp;INSERTINTOmytableVALUES('${hiveconf:ct}','test','2015-

java - hive-jdbc-__-standalone.jar 的正确位置是什么?

关于设置hive0.14的指南:http://www.ishaanguliani.com/content/hive-0140-setup-ubuntu提示如果出错:Logginginitializedusingconfigurationinjar:file:/usr/local/hive/lib/hive-common-0.14.0.jar!/hive-log4j.propertiesSLF4J:ClasspathcontainsmultipleSLF4Jbindings.遇到文件hive-jdbc-0.14.0-standalone.jar必须从$HIVE_HOME/lib/移出但是

hadoop - hive理解表的创建

我正在服用mooc.它告诉我们使用以下命令将一些文件从我们的PC上传到hdfsazurestorageblobuploadlocal_pathcontainerdata/logs/2008-01.txt.gz我也是这样做的。后来当我在PUTTY安全shell中键入以下命令时,我能够看到该文件hdfsdfs-ls/data/logsFound6items-rwxrwxrwx13319412016-03-0315:56/data/logs/2008-01.txt.gz-rwxrwxrwx13319412016-03-0315:58/data/logs/2008-02.txt.gz-rwxr

scala - 用于 Spark 集成测试的 Hive 配置

我正在寻找一种方法来配置Hive以进行SparkSQL集成测试,以便将表写入临时目录或测试根目录下的某个位置。我的调查表明这需要同时设置fs.defaultFS和hive.metastore.warehouse.dir之前HiveContext被build。只需设置后者,如本answer中所述不适用于Spark1.6.1。valsqlc=newHiveContext(sparkContext)sqlc.setConf("hive.metastore.warehouse.dir",hiveWarehouseDir)表元数据位于正确的位置,但写入的文件位于/user/hive/wareho