问题标签 [spark-thriftserver]

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.

0 投票
1 回答
261 浏览

apache-spark - 尝试使用 datastax cassandra 连接器启动 spark thrift 服务器

我已经启动了 spark-thrift 服务器并使用 beeline 连接到了 thrift 服务器。当尝试查询在配置单元元存储中创建表时,我收到以下错误。

创建表

给出以下错误。

这是在 macOS 中运行的。

org.apache.spark.sql.cassandra 不是有效的 Spark SQL 数据源。

0: jdbc:hive2://localhost:10000> select * from traveldata.employee_details;

0 投票
0 回答
292 浏览

apache-spark - spark thrift server 如何在 kerberos 环境下连接到 hiveserver2?

问题:
在kerberos环境下spark thrift server如何连接hiveserver2?
补充:
- spark on yarn 可以正常提交任务,比如计算pi。
- 所有配置文件都是从启用了 kerberos 的普通集群复制的


日志:

命令:

0 投票
0 回答
70 浏览

apache-spark - 使用datastax cassandra连接器启动spark thrift服务器后的advanced.session-leak

嗨,我在一段时间不活动后收到以下错误。

重新启动节俭服务器似乎可以解决一段时间的问题。

0 投票
0 回答
19 浏览

apache-spark - 有没有办法增加 spark sql thrift 服务器中的提取大小?

INFO Spark ExecuteStatement 操作:从偏移量返回 1000 行的结果集

SQL 查询运行成功,

为了使用 pandas 和 pyhive 将行返回给客户端,这需要很多时间。

0 投票
0 回答
36 浏览

apache-spark - Spark SQL 作业卡在驱动程序的收集阶段

以下是日志中的最后一条消息。我正在使用火花版本 3.1.2

我在一个大表的单列中有 5 亿个字符串,我们称之为 big_table,big_table 以 parquet 格式存储。

当我这样做时select * from big_table,根据日志,查询完成得更快(我假设这个)。

但是cpu使用率是100%并且长期保持在100%。我怀疑由于有很多重复的字符串(有 770 万个唯一字符串),我们必须将 770 万个字符串反序列化并解压缩为 5 亿个字符串。我假设这会导致下图中观察到的高内存和 CPU 使用率。

我正在通过 Spark Thrift Server 提交 SQL 查询以触发。下图是spark master的htop视图,而job大概卡住了(可能卡住不是正确的词)。

在此处输入图像描述

0 投票
1 回答
286 浏览

apache-spark - dbt 中带有结构字段的增量模型

我正在为可能的用例评估 DBT,除了一种情况外,一切似乎都很好。这是源表具有结构字段的时候。

我正在使用Spark Thrift Server connector,基础数据存储parquetS3. DBT 版本为 0.20

这是源表创建语句的一部分,因为您可以看到那里有结构字段。

我的模型只是使用某些 where 子句对该表执行选择。第一次运行时,它工作得很好,它创建了一个与原始表完全相同的表,只是做了一些细微的更改,正如预期的那样,即使是结构字段也是如此。

这是一张sink table create table

当我在 where 子句中使用其他一些值再次运行 dbt 时,我的问题出现了,它应该在接收器表中创建另一个分区。查询编译就好了

它引发了这个错误:

似乎它正在尝试将结构的内部字段作为根字段读取或写入。我用其他结构字段进行了测试,它发生了同样的情况,我只想要这样的结构,就像在第一次执行时一样。正如我所说,它只发生在第二次执行中。

这是我模型的查询,很简单

如果我更改选择以将属性从 struct 转换为 json,to_json(properties)它会按预期工作,生成一个新分区。

如果 DBT 中的结构有问题?我做错了什么?

我正在使用增量实现,并使用 append 和 insert_overwrite 对其进行了测试,这似乎不是问题

0 投票
1 回答
114 浏览

scala - 通过监听器获取 Spark thrift 服务器查询中读取的行数

我正在尝试为我们的 ST 服务器构建一个监控系统。到目前为止,诸如记录查询、检索的行/红色和花费的时间之类的都可以。

我已经实现了一个自定义监听器,我能够毫无问题地检索查询和时间,监听SparkListenerSQLExecutionStartSparkListenerSQLExecutionEnd

像这样的东西:

到目前为止,我只是在日志上打印它们,只是为了检查是否可以检索我需要的值。这一示例输出

如您所见,我得到了查询,即开始和结束时间所花费的总时间。但是当我检查执行计划中的指标时,值并不一致。numOutputRows 应该是数字时为 0(特别是在我的示例中为 21)我也尝试过,queryExecution.executedPlan.collectLeaves().head.metrics因为我在这里找到了相同的结果

第一个问题:是否可以从事件中检索输出行数SparkListenerSQLExecutionEnd

如果没有,我可以使用键“internal.metrics.input.recordsRead”SparkListenerStageCompleted从可累积的事件中检索它们。stageCompleted.stageInfo.accumulables但在这种情况下,我无法将阶段或作业链接到 SQL 执行。即我得到了 jobid=4 和 stageId=5, executionId=12 但在任何情况下都没有任何价值可以将它们链接到另一个。

第二个问题:你知道一种方法可以知道执行属于哪个阶段或作业吗?

亲切的问候

编辑:

我找到了一种通过 jobStart.executionId 将 executionId 与 JobId 联系起来的方法。它在 docker 的 STS 中运行良好,但在我真正的 STS 中却不行。可能与 STS 配置有关?

0 投票
0 回答
37 浏览

sql - 从 pyspark 查询 Thrift 数据库时获取行中的列名

我有一个在 Apache Spark 3.1.2 上运行的 Thrift 数据库,我在其中创建了一个表并使用直线插入了值。它看起来像这样:

但是,当我尝试使用 pyspark 获取它时,返回的列名如下:

为什么我在返回的表中看不到正确的值?我只看到列名而不是值。

0 投票
0 回答
56 浏览

apache-spark - 如何在 Apache Spark Thrift 服务器中为增量收集设置行批量大小?

我在我的 Thrift 服务器 (Spark 3.1.2) 中启用spark.sql.thriftServer.incrementalCollect以防止 OutOfMemory 异常。这工作正常,但我的查询现在真的很慢。我检查了日志,发现 Thrift 正在查询 10.000 行的批次。

我的硬件将能够处理其中的 10 到 50 倍。 问题和此文档页面建议设置spark.sql.inMemoryColumnarStorage.batchSize,但这不起作用。

是否可以配置值?

0 投票
1 回答
333 浏览

apache-spark - 如何在本地模式下运行 Spark SQL Thrift Server 并使用 JDBC 连接到 Delta

我想使用 JDBC 连接到 Delta,并想在本地模式下运行 Spark Thrift Server (STS) 以启动轮胎。

我使用以下命令启动 STS:

尝试使用直线连接时出现以下错误:

查看 thrift 服务器日志,我没有看到任何明显的错误,并且加载了 delta jar 文件,没有任何错误。

我正在使用 Java 8 和 Spark 3.1.2,并为 Hadoop 3.2 及更高版本和 Delta 1.0.0 预先构建,在 Mac OSX 上运行

可能是什么问题呢?