我可以将格式和路径选项传递到spark_write_table中吗?或者将 saveAsTable 与 Spark_write_orc 一起使用?

2024-04-18

Spark 2.0 与 Hive

假设我正在尝试编写一个 Spark 数据框,irisDf to orc and将其保存到 hive 元存储

在 Spark 中我会这样做,

irisDf.write.format("orc")
    .mode("overwrite")
    .option("path", "s3://my_bucket/iris/")
    .saveAsTable("my_database.iris")

In sparklyr我可以使用spark_write_table功能,

data("iris")
iris_spark <- copy_to(sc, iris, name = "iris")
output <- spark_write_table(
   iris
  ,name = 'my_database.iris'
  ,mode = 'overwrite'
)

但这不允许我设置path or format

我也可以使用spark_write_orc

spark_write_orc(
    iris
  , path = "s3://my_bucket/iris/"
  , mode = "overwrite"
)

但它没有saveAsTable option

现在,我可以使用invoke复制 Spark 代码的语句,

  sdf <- spark_dataframe(iris_spark)
  writer <- invoke(sdf, "write")
  writer %>% 
    invoke('format', 'orc') %>% 
    invoke('mode', 'overwrite') %>% 
    invoke('option','path', "s3://my_bucket/iris/") %>% 
    invoke('saveAsTable',"my_database.iris")

但我想知道是否有办法可以通过format and path选项进入spark_write_table or the saveAsTable选择进入spark_write_orc?


path可以使用设置options参数,相当于options调用本地人DataFrameWriter:

spark_write_table(
  iris_spark, name = 'my_database.iris', mode = 'overwrite', 
  options = list(path = "s3a://my_bucket/iris/")
)

默认情况下,在 Spark 中,这将创建一个表,存储为Parquet https://en.wikipedia.org/wiki/Apache_Parquet at path(分区子目录可以用partition_by争论)。

截至今天,没有这样的格式选项,但一个简单的解决方法是设置spark.sessionState.conf.defaultDataSourceName属性,无论是在运行时

spark_session_config(
  sc, "spark.sessionState.conf.defaultDataSourceName", "orc"
)

或者当您创建会话时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以将格式和路径选项传递到spark_write_table中吗?或者将 saveAsTable 与 Spark_write_orc 一起使用? 的相关文章

  • 在 ggplot2 facet_wrap 标签上使用半填充的正方形

    我正在尝试使用标签上的一半 以及四分之一填充 方块来生成 ggplot2 图表 但 Mac 上的 ggplot2 似乎不支持某些符号 例如 当我输入 print u25E9 它显示一个半黑的正方形 但是当我尝试在 ggplot 中使用它时
  • Spark scala - 按数组列分组[重复]

    这个问题在这里已经有答案了 我对 Spark Scala 很陌生 感谢你的帮助 我有一个数据框 val df Seq a a1 Array x1 x2 a b1 Array x1 a c1 Array x2 c c3 Array x2 a
  • TaskSchedulerImpl:初始作业尚未接受任何资源;

    这就是我正在尝试做的事情 我创建了DataStax企业集群的两个节点 在其上创建了一个java程序来获取一张表 Cassandra数据库表 的计数 该程序是在 eclipse 中构建的 实际上是来自 windows 盒子 从 Windows
  • 比较具有不同顶点数的图中的社区

    我正在根据通信数据图计算鲁汶社区 其中顶点代表大型项目的执行者 这些图表代表不同的通信方式 例如电子邮件 电话 我们想尝试从通信数据中识别表演者团队 由于表演者对不同的通信方法有不同的偏好 因此图的大小不同 并且可能有一些独特的顶点 而这些
  • 如何将我自己的函数添加为 ML pyspark Pipeline 中的自定义阶段? [复制]

    这个问题在这里已经有答案了 Florian 的示例代码 ball column keep the hall column 0 7 14 1 8 15 2 9 16 3 10 17 4 11 18
  • ggplot geom_hline 中无法识别数据列

    我想知道为什么变量mean y不被我识别geom hline yintercept unique mean y call library tidyverse set seed 20 n groups lt 2 n in group lt 2
  • 确定执行脚本的路径

    我有一个名为foo R其中包括另一个脚本other R 位于同一目录中 usr bin env Rscript message Hello source other R 但我想要R找到那个other R无论当前工作目录是什么 换句话说 fo
  • 使用 RSQLite 库时加载 MacPorts SQLite3

    我在 SQLite 一个计算乘积的聚合器 中有一个用户定义的函数 它在 R 之外工作得很好 但是我有时在 Mac 上 如果您想添加您的 SQLite3 则需要 MacPorts 版本的 SQLite3自己的功能 扩展 我可以选择 RSQLi
  • tidyr:在函数内使用 mutate

    我想使用 tidyverse 中的 mutate 函数来基于旧列创建一个新列 仅使用数据框和字符串 代表列标题 作为输入 我可以在不使用 tidyverse 的情况下让它工作 参见下面的函数 f 但我想使用 tidyverse 让它工作 参
  • 参数为动态的 Spark 滞后函数

    我需要在spark中实现lag函数 我可以像下面这样做 使用 hive temp Spark 表中的一些数据 假设 DF 有这些行 lagno value 0 100 0 200 2 null 3 null 其中第一列是您要使用的实际滞后数
  • ANEW 字典可以用于 Quanteda 中的情感分析吗?

    我正在尝试找到一种方法来实施英语单词情感规范 荷兰语 以便使用 Quanteda 进行纵向情感分析 我最终想要的是每年的 平均情绪 以显示任何纵向趋势 在数据集中 所有单词均由 64 名编码员按照 7 分李克特量表在四个类别上进行评分 这提
  • R data.table %like% 带有逻辑 AND

    我正在尝试构建一个闪亮的搜索引擎应用程序 我根据搜索关键字返回 data table DT lt data table field c A B C A C D A D A B A D B C F B D K DT field like A
  • Spark 数据框添加带有随机数据的新列

    我想向数据框中添加一个新列 其值由 0 或 1 组成 我使用了 randint 函数 from random import randint df1 df withColumn isVal randint 0 1 但我收到以下错误 spark
  • 在 Linux 集群上安装 R `forecast` 包:编译器问题?

    我正在寻找测试性能R 更具体地说是一些例程forecast封装在具有 Intel Xeon Phi 协处理器的 HPC 集群上 据我所知 系统管理员已经建立了R 3 2 5按照英特尔网站上的说明从来源获取 https software in
  • 如何在R中使用twoord.plot()绘制多个图(分面)?

    我的数据看起来像这样 height lt c 1 2 3 4 2 4 6 8 weight lt c 12 13 14 15 22 23 24 25 person lt c Jack Jim Jill Tess Jack Jim Jill
  • Spark:shuffle操作导致GC长时间暂停

    我在跑Spark 2我正在尝试洗牌大约 5 TB 的 json 我在洗牌期间遇到了很长的垃圾收集暂停Dataset val operations spark read json inPath as MyClass operations re
  • R中向后历史搜索

    通常在我的机器中 我可以通过键入我想要向后搜索的命令的所需第一个字符来向后搜索 R 的历史记录 然后使用 PageUp 或 PageDown 键浏览 R 历史记录中的所有条目 我现在在远程集群中以访客身份工作 此选项在本机上不可用 有谁知道
  • Density2d 使用另一个变量进行填充(类似于 geom_tile)?

    我正在尝试为我的最终项目绘制地图 并且正在尝试使用 BLock 绘制美国的犯罪热图 对于每个街区 我都有纬度 经度和犯罪率预测 它遵循以下结构 Lat Lon Prediction 76 0 40 0 125 76 120 40 5 145
  • 使用 python 从 hive 读取数据时的性能问题

    我在 hive 中有一个表 其中包含 351 837 110 MB 大小 记录 我正在使用 python 读取该表并写入 sql server 在此过程中 从 hive 读取数据到 pandas dataframe 需要很长时间 当我加载整
  • 映射多个参数,其中一个参数是常量(数据)

    我正在努力在我构建的函数上使用 mapply 因为我在一个更大的环境中编程 所以我需要一个或多个参数 例如 如果我编写一个函数 其中一个参数是data fun test lt function data col val1 val2 retu

随机推荐