草庐IT

sql - Impala/Hive 获取表列表及其大小

我在OracleDB中使用查询来生成数据库中的表列表及其所有者和相应的表大小。这是我分享的示例查询。selectowner,table_name,round((num_rows*avg_row_len)/(1024*1024))MBfromall_tableswhereownernotlike'SYS%'--Excludesystemtables.andnum_rows>0--IgnoreemptyTables.orderbyMBdesc--Biggestfirst.我想要来自Impala/Hive的类似输出。注意:我试过showtablestats这将显示单个表的统计信息。但我想一次

hadoop - 使用什么.. HDFS 上的 Impala 或 Hbase 上的 Impala 或只是 Hbase?

我正在处理概念验证任务。任务是使用Hadoop技术实现我们产品的一项功能。功能非常简单,我们有一个UI,可让您插入有关“网络问题”的详细信息。有关此类问题的所有详细信息都被捕获并插入到Oracle数据库中的表中。然后,我们处理此表中的数据并计算健康评分。我必须使用Hadoop而不是传统的Db所以我的问题是要做什么?HDFS上的黑斑羚?要么Hbase上的黑斑羚?要么Hbase?我正在使用clouderaVM进行POC实现。按照我的理解,Hbase是NoSQL分布式数据库,其实是HDFS之上的一层,提供javaAPI来访问数据。Impala是一种工具,它还提供JDBC访问以通过Hbase或

hadoop - 从分区文件结构创建 Impala 外部表

提供了如下的分区fs结构:logs└──log_type└──2013├──07│  ├──28│  │  ├──host1│  │  │  └──log_file_1.csv│  │  └──host2│  │  ├──log_file_1.csv│  │  └──log_file_2.csv│  └──29│  ├──host1│  │  └──log_file_1.csv│  └──host2│  └──log_file_1.csv└──08我一直在尝试在Impala中创建一个外部表:createexternaltablelog_type(field1string,field2s

hadoop - Impala 是否在 Hive Bucketed 表中有效使用 Buckets?

我正在改进表格的性能。说这个表:CREATETABLEuser_info_bucketed(user_idBIGINT,firstnameSTRING,lastnameSTRING)COMMENT'Abucketedcopyofuser_info'PARTITIONEDBY(Yearint,monthint)STOREDASPARQUET;我计划按user_id应用分桶,因为查询通常将user_id作为一个子句。像这样CREATETABLEuser_info_bucketed(user_idBIGINT,firstnameSTRING,lastnameSTRING)COMMENT'Ab

hadoop - Impala - 找不到文件错误

我使用带有水槽的impala作为文件流。问题是flume正在添加扩展名为.tmp的临时文件,然后当它们被删除时,impala查询失败并显示以下消息:Backend0:FailedtoopenHDFSfilehdfs://localhost:8020/user/hive/../FlumeData.1420040201733.tmpError(2):Nosuchfileordirectory如何让impala忽略这个tmp文件,或者flume不写入它们,或者将它们写入另一个目录?水槽配置:###Agent2-AvroSourceandFileChannel,hdfsSink####Name

hadoop - Cloudera Impala 使元数据无效

正如在impala教程中讨论的那样,Impala使用Hive共享的Metastore。但已经提到,如果您使用配置单元在表上创建或执行某些版本,您应该执行INVALIDATEMETADATA或REFRESH命令以通知impala有关更改。所以我很困惑,我的问题是:如果元数据数据库是共享的,为什么impala需要执行INVALIDATEMETADATA或REFRESH?如果它是用于impala缓存元数据,为什么守护进程在发生缓存未命中时不更新缓存,而不需要手动刷新元数据?感谢任何帮助。 最佳答案 好的!让我们从您在评论中提出的问题开始,

sql - 如何计算 Impala 中两个时间戳之间的秒数?

我没有看到Impala函数可以减去两个datestamps并返回两者之间的秒数(或分钟数)。http://www.cloudera.com/documentation/archive/impala/2-x/2-0-x/topics/impala_datetime_functions.html 最佳答案 unix_timestamp(finish_time)-unix_timestamp(start_time)将为您提供它们之间的秒数。 关于sql-如何计算Impala中两个时间戳之间的秒

hadoop - 在没有cloudera manager的情况下安装cloudera impala

请提供在没有cloudera管理器的情况下在ubuntu中安装imapala的链接。无法使用官方链接安装。无法使用这些查询定位包impala:sudoapt-getinstallimpala#Binariesfordaemonssudoapt-getinstallimpala-server#Servicestart/stopscriptsudoapt-getinstallimpala-state-store#Servicestart/stopscript 最佳答案 首先你需要获取包列表并将其存储在/etc/apt/sources.l

hadoop - Impala 找不到 com.mysql.jdbc.Driver

我正在尝试在RedHat5上以伪分布式模式使用CDH4设置ClouderaImpala。我让Hive使用JDBC连接到MySQL元存储,但我在使用JDBC设置Impala时遇到了问题。我一直按照此处的说明进行操作:http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Using-Impala/ciiu_impala_jdbc.html我已将JAR提取到一个目录中,并将该目录包含在$CLASSPATH中。我还在$CLASSPATH中包含了/usr/lib/hi

sql - 在 Impala 中将 YYYYMMDD 字符串转换为日期

我在Impala中使用SQL来编写此查询。我正在尝试将以YYYYMMDD格式存储的日期字符串转换为日期格式,以便运行如下查询:SELECTdatadate,session_infoFROMdatabaseWHEREdatadate>=NOW()-INTERVAL5DAYORDERBYdatadateDESC;由于>=NOW()-INTERVAL5DAY代码不适用于YYYYMMDD字符串,我想找到一种方法将其转换为适用的日期格式这种类型的查询。我的想法是它应该看起来像这样(基于关于其他SQL查询编辑器的类似问题),但它在Impala中不起作用:SELECTdatadate,session