草庐IT

hadoop - 很少有 Hive 面试问题

我最近在一家公司的面试中遇到了一些问题。由于我是Hadoop的新手,谁能告诉我正确答案?问题:Hive中“排序依据”和“分组依据”之间的区别。它们是如何工作的?如果我们在Hive中的任何SQL查询中使用“限制1”,Reducer是否工作。如何优化Hive性能?“内表”和“外表”的区别Hive和SQL的主要区别是什么请提供一些有用的资源,以便我可以更好地学习。谢谢 最佳答案 PFB的答案:1。Hive中“排序依据”和“分组依据”之间的区别。它们是如何工作的?答。SORTBY按reducer对数据进行排序,它提供了reducer中行的排

hadoop - Spark Thriftserver 未连接到正确的 Hive 数据库

我正在运行一个SparkThriftServer,这样我就可以对存储在Hive表中的数据执行SparkSQL命令。当我启动beeline以显示我当前的表格时:user@mn~$beeline!connectjdbc:hive2://mn:10000showtables;+------------+--------------+--+|tableName|isTemporary|+------------+--------------+--++------------+--------------+--+输出显示我的数据库中没有表。但是,如果我使用(已弃用的)CLIhive,我会得到不同

java - 如何将数据插入 Hive 2 中的复杂数据类型 “Struct”

这是表的结构CREATETABLEwarehouse(timetimestamp,personstruct,activitystruct,casestruct);表创建没有问题,问题是如何向表中插入数据。我正在尝试类似的方法,但它不起作用INSERTINTOTABLEwarehouseVALUES('2018-05-31'),SELECTNAMED_STRUCT('id',1,'name','Alex','organization','CITI')ASperson,SELECTNAMED_STRUCT('id',1,'name','Buy')ASactivity,SELECTNAMED

sql - 如何在 HIVE 中查找以前的日期

我想在Hive中查找之前的日期。例如:我的日期为20180821(yyyyMMdd)格式,我想在Hive中查找此日期的前一个日期。我尝试了date_sub()函数,似乎它只适用于yyyy-MM-dd格式。如何解决我的问题。请帮忙 最佳答案 除了已经提供的带有unix_timestamp转换的解决方案外,还请考虑这个。使用substr()的相同转换看起来有点长,但它适用于任何日期/时间戳,如'1969123119:00:00'而没有TZ问题,也这并不慢,因为没有使用SimpleDateFormat/etc也没有应用TZ。date_su

sql - 如何在 Hive 中生成所有 n-gram

我想使用HiveQL创建一个n-gram列表。我的想法是使用具有先行和拆分功能的正则表达式-但是这不起作用:selectsplit('Thisismysentence','(\\S+)+(?=(\\S+))');输入的是表格的一列|sentence||-------------------------||Thisismysentence||Thisisanothersentence|输出应该是:["Thisis","ismy","mysentence"]["Thisis","isanother","anothersentence"]Hive中有一个n-gramudf,但该函数直接计算n

【Hive】——函数案例

1Hive多字节分隔符处理1.1默认规则Hive默认序列化类是LazySimpleSerDe,其只支持使用单字节分隔符(char)来加载文本数据,例如逗号、制表符、空格等等,默认的分隔符为”\001”。根据不同文件的不同分隔符,我们可以通过在创建表时使用rowformatdelimited来指定文件中的分割符,确保正确将表中的每一列与文件中的每一列实现一一对应的关系。1.2问题每一行数据的分隔符是多字节分隔符,例如:”||”、“–”等数据的字段中包含了分隔符1.3方案一:替换分隔符(不推荐)直接解决数据问题,而不是解决了单字节分隔符问题,不推荐1.4方案二:RegexSerDe正则加载(推荐)

hadoop - Hive 中的 LeaseExpiredException

全部。我运行一个配置单元查询运行到97%,异常显示org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException:无租约。谁能解释一下为什么会出现这个错误?这是一个单用户Hive集群环境。提前谢谢你。2013-01-0222:16:17,833ERRORorg.apache.hadoop.hdfs.DFSClient:Exceptionclosingfile/tmp/hive-hadoop/hive_2013-01-01_21-21-32_067_6367259756570557828/_task_tmp.-ext-10002/

hadoop - 如何将mysql DDL转换成hive DDL

给定一个包含用于在MySQL数据库中创建表的DDL的SQL脚本,我想将该脚本转换为HiveDDL,以便我可以将表创建到hive中。我本可以自己编写一个解释器,但我认为我可能会错过一些细节(例如数据格式转换、int、bigint、时间、日期等),因为我对hiveDDL还很陌生。我看过这个帖子Howtotransfermysqltabletohive?,其中提到了sqoophttp://archive.cloudera.com/cdh/3/sqoop/SqoopUserGuide.html.然而,据我所知,sqoop肯定会翻译DDL,但只是作为一个中间步骤(因此翻译后的DDL无处可寻)。我

hadoop - 哪个类将 Hive & Ping 解析为 Map Reduce

哪个是将pig和hive命令解析为MapReduce作业的类,这种解析背后的算法是什么? 最佳答案 Pig和Hive都使用ANTLR构建一个编译器来解析他们的脚本。如果你对编译原理不熟悉,建议你阅读一些相关资料。对于Pig,ANLTR的源代码是src/org/apache/pig/parser/QueryLexer.g和src/org/apache/pig/parser/QueryParser.g。它们将被编译为org.apache.pig.parser.QueryLexer和org.apache.pig.parser.QueryP

hadoop - Hive 查询控制流?

Hive查询的控制流程是什么?比方说,我想加入Emp_Table和Dept_Table,流程如何进行?它从元存储中的哪个表中获取所有相关信息?比如,1)Emp_Table对应的文件在哪里?(HDFS位置)2)表Emp_Table的字段名称是什么?3)包含Emp_Table数据的文件中的分隔符是什么?4)如何对数据进行分桶或分区,在这种情况下,从哪里(元存储表名称)以及如何(查询)给出HDFS文件夹位置? 最佳答案 流程是这样的:第一步:Hive客户端触发查询(CLI或使用JDBC、ODBC或Thrift或webUI的某些外部客户端)