当前位置: 首页 > 知识库问答 >
问题:

Spark sql“create table as select...”

赵雅懿
2023-03-14
select a.*, b.* from a inner join b on a.id=b.id

a和b桌很大。这很管用,我可以得到答案。

其次,我想把SQL结果保存到配置单元表中。SQL喜欢:

create table xxx stored as orc as select ...

这将失败,错误代码为143。错误消息为:

有人能帮忙吗?

谢了。

共有1个答案

司徒高寒
2023-03-14

要解决内存问题,可以尝试:

  • 重新分区
  • 增加执行者内存--执行者-内存
  • 按执行器减少内核数--executor-core(它们共享执行器的RAM),不要忘记增加内存开销以满足规范

重新分区,将减少每个任务的大小,而增加内存或减少核心数将导致分配给每个任务的内存更多。

df.persist()
n = df.count()
nb_records = 10
df = df.repartition(int(n / nb_records))
df.rdd.getNumPartitions()

10
 类似资料:
  • 问题内容: 我在此DataBricks帖子中看到,SparkSql支持窗口函数,特别是我正在尝试使用lag()窗口函数。 我有几行信用卡交易,并且已经对它们进行了排序,现在我要遍历各行,并为每一行显示交易金额,以及当前行金额与上一行金额的差额。 在DataBricks帖子之后,我提出了这个查询,但是它给我抛出了一个异常,我无法理解为什么。 这是在PySpark中。tx是我在注册为临时表时创建的数据

  • 我在hdfs之上使用sparksql。 每个hdfs节点都运行一个spark从节点。 当我运行大型查询时,hdfs似乎在节点之间向spark从节点发送数据。 为什么hdfs不使用本地数据为本地spark提供服务? 所有任务都显示本地级别。 我甚至设置了spark.locality.wait=10000。 有什么遗漏或需要查看的吗? 谢谢,

  • <code>Spark</code>版本为1.3.0。 来自< code > sqlcontext . Scala (https://github . com/Apache/spark/blob/master/SQL/core/src/main/Scala/org/Apache/spark/SQL/sqlcontext . Scala)的源代码: 我真的不能理解上面的代码。 是如何工作的? (_)

  • 问题内容: 我将RDD [myClass]转换为数据框,然后将其注册为SQL表 该表是可调用的,可以用以下命令演示 但是下一步给出了错误,说表未找到:my_rdd Spark的新手。 不明白为什么会这样。有人可以帮我吗? 问题答案: 确保从相同的SQLContext导入hidden._。临时表在一个特定的SQLContext中保留在内存中。

  • 我将RDD[myClass]转换为dataframe,然后将其注册为SQL表 此表是可调用的,可以使用以下命令演示 对Spark来说是个新手。不明白为什么会这样。有谁能帮我摆脱这一切吗?

  • 这些查询是:select*from t1 where col1='123'[t1由col1 bucketted]select*from t1 where col2='123'[col2不是bucketting列]我的问题是 > 如何确定在查询执行期间正在进行全表扫描还是正在进行相关的部分表扫描? 我能从DAG或物理计划中得到任何信息吗?我两个都看过,但我看不出有什么不同,就像我在物理计划中看到的那

  • 问题内容: 希望您能帮到我。我有一个DF,如下所示: 我很乐意做一个groupBy prodId并汇总“值”,以将其汇总为由“ dateIns”和“ dateTrans”列之间的差异所定义的日期范围。特别是,我希望有一种方法来定义一个条件总和,该总和将上述各列之间的预定义最大差之内的所有值相加。即从dateIns开始的10、20、30天之间发生的所有值(’dateTrans’-‘dateIns’<

  • 我试图插入和更新MySql上使用SparkSQLDataFrames和JDBC连接的一些数据。 我已经成功地使用SaveMode插入新数据。追加。有没有办法从SparkSQL更新MySql Table中已经存在的数据? 我要插入的代码是: 如果我切换到保存模式。覆盖它会删除完整的表并创建一个新表,我正在寻找MySql中提供的类似“ON DUPLICATE KEY UPDATE”的内容