问题标签 [impala]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hadoop - Hadoop 1.0.4 上的 Impala
我正在尝试impala
在我的 linux 机器上工作。我的不是 cloudera 发行版。我单独安装了Hadoop
、Hive
和HBase
其他组件。
这里是版本
我使用 rpm 安装了 impala,因为我的是一个 redhat linux 机器。
我无法在我的机器中配置 impala 服务器(确实无法找到 site.xml)。
在我所做的研究中,我开始知道impala
它只适用于Hadoop 2.x
. 这是真的吗?如果它是正确的,我需要迁移到2.x
而不是浪费时间在1.x
.
有人可以确认吗?提前致谢。
hadoop - 没有在 hive 或 impala 中加载表
我在 Centos 6.5 上使用 CDH5,当我浏览到查询编辑器 > Hive 或 Impala 时,左侧的表格部分与等待微调器一起坐在那里。有可用的表,因为我可以从 hive cli 查询它们,它从不加载表,有人能指出我正确的方向吗?
sql - 填充“select”语句结果中省略的缺失行
有没有办法填写select
语句结果中省略的行?
我有这样的数据:
...由这样的简单查询返回:
我想要的是为缺少的日子添加行,因此结果如下所示:
有没有办法通过 SQL 做到这一点?
hadoop - 还原 Impala 的 Load 语句?
我在 Impala 上创建了一个表并将数据加载到表中。
现在来自 HDFS 的数据被移动到 Impala 数据目录我如何在 HDFS 上找到这些数据?
sockets - Hadoop Impala 1.3.1 和 Open Socket 错误
我们刚刚从 1.2.4 -> 1.3.1 升级了 Impala,从 4.6 -> 4.7 升级了 CDH,并开始出现写入问题(读取正常):
尝试创建表时 - 它给出了套接字错误:
创建表 test_5 (x int, y string); 查询:创建表 test_5 (x int, y string) 应用程序异常:在未打开的套接字上调用写入
尝试刷新表时也会发生同样的情况:
使元数据无效;查询:使元数据无效应用程序异常:在未打开的套接字上调用写入
有人有过这种经历吗?为了修复应该修改什么?
谢谢,弗拉基米尔
apache-spark - 如何让 Spark Streaming 写入其输出以便 Impala 可以读取它?
我对 Spark Streaming API 有以下问题。我目前正在通过 Flume 将输入数据流式传输到 Spark Streaming,我计划使用它对数据进行一些预处理。然后,我想将数据保存到 Hadoop 的文件系统并使用 Impala 进行查询。但是,Spark 将数据文件写入单独的目录,并为每个 RDD 生成一个新目录。
这是一个问题,因为首先,Impala 中的外部表无法检测子目录,而只能检测它们指向的目录内的文件,除非分区。其次,Spark 添加新目录的速度如此之快,以至于在 Impala 中为每个生成的目录定期创建一个新分区对性能非常不利。另一方面,如果我选择增加 Spark 中写入的滚动间隔,以降低生成目录的频率,则会增加延迟,直到 Impala 可以读取传入的数据。这是不可接受的,因为我的系统必须支持实时应用程序。在 Hive 中,我可以使用以下设置配置外部表以检测子目录而无需分区:
但据我了解,Impala 没有这样的功能。
我目前正在使用以下代码从 Flume 读取数据并将其写入 HDFS:
这里,变量 path 决定了目录的前缀,文本文件(part-0000 等)被添加到该目录,目录名的其余部分是 Spark 生成的时间戳。我可以将代码更改为以下内容:
在这种情况下,文件将被添加到由路径确定的同一目录中,但由于它们始终命名为 part-00000、part-00001、part-00002 等,因此将覆盖先前生成的文件。在查看 Spark 的源代码时,我注意到文件的名称是由 SparkHadoopWriter 的 open() 方法中的一行确定的:
在我看来,没有办法通过 Spark API 操作 splitID。总而言之,我的问题如下:
- 有什么方法可以让 Impala 中的外部表检测子目录?
- 如果没有,是否有任何方法可以让 Spark 将其输出文件写入单个目录或以 Impala 立即读取的形式?
- 如果没有,Spark 是否有任何类型的更新来解决这个问题,或者我应该只分支我自己的 Spark 版本,我可以用它来决定它自己编写的文件的名称?
hadoop - 处理许多对象的最佳方法?
我想存储许多对象,然后再处理它们。(用数据做统计)
现在,我做了什么:
我已经用 Thrift 序列化了每个文件一个对象。(1 个节俭对象 = 1 个二进制文件)
我还将节俭对象转换为 Parquet 文件。(我很惊讶,因为我的 thrift 二进制文件大约为 1 KB,而 parquet 文件为相同的数据做了 140 KB!)
那么,对你来说,最好的方法是什么?
1) 将 Parquet 文件与 Impala 一起使用?
2) 将 Thrift 文件与 ..I don't know.. 一起使用?(以及如何序列化同一个文件中的许多对象以获得更大的文件,我读取文件必须非常大才能有效)
3) 猪?蜂巢?和 .. ?
4) ... ?
我想使用 HDFS 来存储我的文件。
我使用 Ruby 创建 Thrift 文件,并使用 Java 将其转换为 Parquet 文件。
必须使用 MapReduce 吗?以后可以用吗?
谢谢 !
impala - 有没有办法用 Impala 对现有的文本文件进行分区,而无需将文件预先拆分到分区目录中?
假设我有一个文件“fruitsbought.csv”,其中包含许多包含日期字段的记录。
是否可以通过基于该文本文件创建“fruits”表来“分区”以获得更好的性能,同时创建一个分区,其中 fruitsbought.txt 中与该分区匹配的所有行,假设我想这样做年和月,要创建吗?
或者我是否必须作为单独过程的一部分,为每年创建一个目录,然后在 impala-shell 中创建表之前,将当年过滤的适当“.csv”文件放入 HDFS 上的目录结构中?
我听说您可以创建一个空表,设置分区,然后使用恰好包含该记录进入的分区的“插入”语句。虽然在我目前的情况下,我已经有一个“fruitsbought.csv”,其中包含我想要的每条记录,我喜欢如何将它变成一个表格(尽管它没有 parititionig)。
我是否必须开发一个单独的过程来将一个文件预拆分为在正确分区下排序的多个文件?(一个文件非常非常大)。
hadoop - 更新 CDH (5.0.0 -> 5.0.2) 后无法启动 impala
更新到 cdh 5.0.2 后,我无法启动 impala(服务器、状态存储、目录)。根据我的发现,启动脚本期望在 /usr/lib/impala/sbin 中找到可执行文件。没有这样的目录。取而代之的是 /usr/lib/impala/sbin-debug 和 /usr/lib/impala/sbin-retail。我终于可以通过创建符号链接来启动 impala
但是我仍然对这个问题感到困惑。启动 impala 的正确形式是什么。也许有某种配置变量可让您选择要运行“调试”版本还是“零售”版本。
twitter - Impala 创建外部表,由 Hive 存储
从昨天开始,我一直在试图弄清楚为什么我的表创建不起作用。由于我无法将我的 Impala 链接到我的 Hbase,我无法在我的 twitter 流上进行查询:/
对于 SerDe 属性,我是否需要像 Hive 这样的特殊 JAR?
这是我的命令:
创建外部表 HB_IMPALA_TWEETS(id int、id_str 字符串、文本字符串、created_at 时间戳、geo_latitude double、geo_longitude double、user_screen_name 字符串、user_location 字符串、user_followers_count 字符串、user_profile_image_url 字符串)
由 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 存储
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,tweet:id_str,tweet:text,tweet:created_at,tweet:geo_latitude,tweet:geo_longitude, user:screen_name,user:location,user:followers_count,user:profile_image_url " ) TBLPROPERTIES("hbase.table.name" = "tweets");
但我得到了一个错误:stored by:
查询:create EXTERNAL TABLE HB_IMPALA_TWEETS (id int, id_str string, text string, created_at timestamp, geo_latitude double, geo_longitude double, user_screen_name string, user_location string, user_followers_count string, user_profile_image_url string) 由'org.apache.hadoop.hive.hbase 存储。 HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,tweet:id_str,tweet:text,tweet:created_at,tweet:geo_latitude,tweet:geo_longitude, user:screen_name,user:location,user:followers_count,user :profile_image_url" ) TBLPROPERTIES("hbase.table.name" = "tweets") 错误:AnalysisException:第 1 行中的语法错误:...image_url 字符串)由'org.apache.hadoop.hive.h...存储
遇到:BY
预期:如
引起:异常:语法错误
有关信息,我关注了这个页面: https ://github.com/AronMacDonald/Twitter_Hbase_Impala/blob/master/README.md
谢谢你帮助我:)