草庐IT

hive-overwrite

全部标签

hadoop - 在java代码中找到hive-site.xml的位置

我想在我的java程序中传递hive-site.xml文件的位置。在java代码中自动找出此文件位置的最佳方法是什么?我不想硬编码到/etc/hive/conf/hive-site.xml的路径以用于cloudera分发 最佳答案 默认情况下,HadoopConfiguration构造函数会在CLASSPATH中的目录中搜索“blahblah-site.xml”配置文件。如果它没有找到它们,那么它将恢复为硬编码的“默认”值,没有任何警告(!)。因此请确保CLASSPATH在前面包含适当的目录,例如/etc/hadoop/conf/:

mysql - 没有在 swing UI 中获取 Hive 数据库详细信息

我正在创建一个javaswingui,它将连接到Hive数据库和表,并为我提供有关UI本身的详细信息。我能够生成UI,但所有Hive数据库和表的详细信息都不会出现,“默认”数据库除外。但是在“默认”数据库中,我也无法获取其中的表。这里是获取Hive数据库的代码HiveConfhconf=newHiveConf();HiveMetaStoreClientmsClient=newHiveMetaStoreClient(hconf);Listdbs=msClient.getAllDatabases();System.out.println(AllDatabases:"+dbs);//AllD

hadoop - hive外部表有什么意义?

第1步。我创建了一个配置单元外部表“test”,并给出了一些位置,例如“/user/hive2”。第2步。我在“测试”表中加载一个文件。第3步。我做了一个select*fromtest。我得到了我的记录。第四步,我通过droptabletest来droptable。第5步。我确实从测试中选择*,但未找到表。那么使用externaltable有什么意义呢?如果删除了“测试”表的元数据并且我无法在其上查询任何内容,那么我们为什么要使用外部表? 最佳答案 @Nishant:在本论坛中提出一般性问题之前,您应该做一些功课。无论如何,这里有一

hadoop - 无法在 Hive 上对表进行分区 - 元数据错误

我在Hive中创建了一个表,其中加载了数据。我想根据Columnspec:DoJ对其进行分区,其中值为2012我用过:ALTERTABLEemployeeADDPARTITION(year='2012')location'/home/rvarun/2012/part2012';我收到错误:FAILED:Errorinmetadata:tableisnotpartitionedbutpartitionspecexists:{year=2012}FAILED:ExecutionError,returncode1fromorg.apache.hadoop.hive.ql.exec.DDLTa

大数据技术之Hive(三)hive常用函数

hive有大量内置函数,大致可分为:单行函数、聚合函数、炸裂函数、窗口函数。查看内置函数showfunctions;查看内置函数用法descfunctionupper;查看内置函数详细信息descfunctionextendedupper;一、单行函数单行函数的特点是一进一出,输入一行,输出一行。1.1算数运算函数运算符描述A+BA-BA*BA/BA%B取余A&B按位取与A|B按位取或A^B按位取异或~A按位取饭1.2数值函数round:(可指定精度)四舍五入selectround(3.1415,2);//3.14ceil/ceiling:向上取整selectceil(3.1415,2);//

datetime - 在 Hive 中转换日期格式

我已经在hdfs中下载了twitter数据,并成功地在上面创建了hive表。Twitter在json文件中给出了日期格式'ThuDec1006:21:00+00002015'我想将这种格式转换为'yyy-MM-dd'我已经尝试过hive提供的内置函数但它们不是接受推特提供的格式。谁能帮我转换这种格式。 最佳答案 也许UDF有点矫枉过正,您想要的只是快速修复,例如对这种丑陋格式进行一些RegExp处理(注意:你的工作是针对各种Twitter日期对其进行彻底测试,并相应地调整处理方式)selectTWITTER_VOMIT,regexp

hadoop - 将 hdfs 文件复制到 hive 表后复制的文件总数

假设如果我将hdfs中的文件加载到配置单元表中,那么该文件的总副本数是多少。在hdfs中,文件被复制了3次,现在复制到hive表会产生额外的副本,总计是否有6个副本?? 最佳答案 在HDFS中,副本数基于复制因子集。在您的情况下,由于复制因子为3,因此将有三个副本。当您执行sqoop从hdfs导入到hive(到内部表)时,数据仅从hdfs上的一个位置复制到hive中的表。但是Hive数据的复制再次根据您的复制因子进行。总共你将得到3(hdfs)+1(hivecopy)*3=>HDFS上的3个副本和hive存储的数据的3个副本(这不是

scala - 使用 SqlContext 连接 Hive 表

我的问题对你们大多数人来说可能听起来很愚蠢,但我需要使用spark-scala在我的配置单元表中执行一些操作,为此我想知道我是否可以使用SqlContext来读取hive表。我知道HiveContext但我想使用SqlContext。 最佳答案 正如评论中提到的@BinaryNerd:HiveContextextendsSQLContext所以当你使用类型安全的语言(Java)时,你可以这样声明你的SQLContext:SQLContextsqlContext=newHiveContext(sc)

hadoop - Hive外部表能否智能识别分区?

每当我需要挂载分区时,我都需要运行它。有没有一种方法可以自动检测外部配置单元表中的分区,而不是我手动执行它ALTERTABLETableNameADDIFNOTEXISTSPARTITION()location'locationpath'; 最佳答案 恢复分区(MSCK修复表)https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-RecoverPartitions(MSCKREPAIRTABLE)MSCKREPAIR

hadoop - hive 字符串中的右字符

在hive中没有获取字符串左右部分的命令。对于Left,不难找到解决方法:SELECTSUBSTR('abcdefgh',1,2);ab提取字符串右侧两个字符的最优雅方法是什么? 最佳答案 显然可以在SUBSTR中使用负数,这样你就可以得到相关的子字符串,如下所示:SELECTSUBSTR('abcdefgh',-2,2);gh 关于hadoop-hive字符串中的右字符,我们在StackOverflow上找到一个类似的问题: https://stackove