草庐IT

shell - 告诉 Impala 忽略错误并继续

我正在尝试使用shellnohup运行一个长刷新脚本,脚本#!/bin/bashimpala-shell-fRefresh.sql-i"landingarea"但是每次遇到错误它都会停止,我必须进入脚本修复错误并从头开始重新运行,我喜欢它运行到最后,我可以找出错误,这可能吗?shellnohupshRefresh.shcatnohup.out 最佳答案 请使用-c查询失败继续。impala-shell-f-cRefresh.sql-i"landingarea"如果您不想捕获详细/错误消息,您可以包含--quiet选项impala-s

hadoop - 将条件字段添加到 Hive 或 Impala 中的表

我有一个存储为parquet的大表,我需要根据条件添加列。有没有一种方法可以做到这一点而不必在Hive或Impala中重新创建一个新表?是这样的吗?ALTERTABLExyzADDCOLUMNflagAS(CASEWHEN...END)谢谢 最佳答案 我认为Hive或Impala不支持计算列。这种类型的计算通常使用View来完成:CREATEVIEWv_xyzASSELECTxyz.*,(CASEWHEN...END)asflagFROMxyz;然后您可以随时更新View以调整逻辑或添加新列。

apache - 超出内存限制 - Apache Impala

Screenshotofmymemorystatus您好,当我尝试运行TPCDS-Benchmark查询时遇到错误片段超出内存限制:9944e21b4d6634c0:1HDFS_SCAN_NODE(id=2)无法在不超过限制的情况下分配1.95KB。进程:超出内存限制。限制=256.00MB总计=286.62MB峰值=380.11MB我的电脑有10GB的内存。然而,impala似乎只分配了256MB。我曾尝试使用mem_limit命令增加启动时的内存限制,但它不起作用。 最佳答案 我能够通过ClouderaManager解决我的问题

hadoop - 查询以仅显示 impala 中的列名

在配置单元中,我们可以执行“在TABLE_NAME中显示列”,以仅获取表的列名。但是我希望查询仅显示IMPALA中表的列名。我如何才能仅获取表的列名IMPALA中的表? 最佳答案 你可以使用describedb.tablename 关于hadoop-查询以仅显示impala中的列名,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/46299676/

sql - Impala 外部表位置/URI

我正在对外部(非托管)表的应用程序问题进行故障排除,该表是通过ClouderaImpala使用CREATETABLEXLIKEPARQUET语法创建的。我正在尝试确定包含外部表分区的文件的位置,但很难确定如何执行此操作,也很难找到描述此操作的文档。如果我这样做:showcreatetableT1;我看到hive管理的位置,例如:LOCATION'hdfs://nameservice1/user/hive/warehouse/databaseName'如果我这样做:describeformattedT1;我看到该表实际上是外部的,但它没有提供任何关于非托管位置的信息。|TableType

hadoop - 在 Impala 中将十进制字符串更改为时间戳

如何将字符串类型转换为t1.updte_timestamp2018-06-02-08.18.45.5627422018-05-26-09.18.16.594824变成时间戳?应该导致:2018-06-02-08.18.452018-05-26-09.18.16等这些值是从excel中导入的,并且是字符串类型我试过:SELECTto_timestamp(cast(t1.updte_timestampasstring),'yyyy-mm-ddhh:mm:ss')asupdted_timestampFROMOLD;但是所有值的结果都是NULL谢谢 最佳答案

sql - impala 长度小于 8 位数字

我有一些客户编号,其中一些长度超过8位。我怎样才能标记它们,使它们不被计算在内?我尝试了以下方法:SELECTt1.updte_userasstaff_number,(CASEWHEN(CAST(t1.updte_user)ASINT)Integernotnullcheck((CAST(t1.updte_user)ASINT)between0and99999999THEN1else0)endasTRUE_STAFFfromoldast1;我需要改变什么? 最佳答案 这个怎么样?selectstaff_number,(casewhen

apache-spark - 具有合并 Parquet 文件的 Impala 表的性能问题

在这里,我使用python实用程序使用Pyarrow库为单个数据集创建多个parquet文件,因为一天的数据集大小很大。这里的parquet文件在每个拆分的parquet文件中包含10K的parquet行组,最后我们将拆分文件组合成一个文件以创建一个大的单个parquet文件。在这里,我创建了两个带有合并文件和多个拆分文件的Impala表。当拆分文件数据加载到Impala表中并尝试查询它时,结果会在几秒钟内更快,但是当Impala表是在单个合并的parquet文件上创建时。与提到的拆分文件Impala表相比,它会产生性能问题。在尝试计算Impala表的统计信息时,我无法识别这两个表之间

hadoop - Hive/Impala - 在层次结构表中查找结束子节点

我有一个场景,从具有parent_node_id和child_node_id的层次结构表中找到最低级别的子节点,如下所示。源表位于Hive和Impala数据库中。请建议hive/impala查询以找出源表中每个父节点的最低级别子节点。我尝试在Impala中使用CTE递归查询,但我猜它不受支持。提前致谢!源表:+-------------+--------------+|child_node_id|parent_node_id|+-------------+--------------+|C1|P1|+-------------+--------------+|C2|P2|+------

hadoop - 如果在 impala statestore 关闭时执行 DDL,为什么 Impala 查询会失败?

在impala的官方文档中here,statestore组件有一条语句:IfyouissueaDDLstatementwhilethestatestoreisdown,thequeriesthataccessthenewobjecttheDDLcreatedwillfail.如果我错了请纠正我,但通过ImpalaSQL进行的元数据更改会从Impala目录服务传播到Impala守护进程。那为什么statestore挂了,通过DDL生成的新对象查询会失败呢? 最佳答案 只是您理解中的一个小修正,文档如下所示TheImpalacompon