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

在Spark 2.1.0中启用\u元数据文件

刘博雅
2023-03-14

Spark 2.1.0似乎破坏了保存空拼花文件的功能,因为无法再次读取它们(由于错误的模式推断)

我发现,由于Spark 2.0,在编写拼花文件时,默认情况下会禁用写入\u元数据文件。但我找不到配置设置来重新启用此功能。

我尝试了以下方法:

spark_session = SparkSession.builder \
                        .master(url) \
                        .appName(name) \
                        .config('spark.hadoop.parquet.enable.summary-metadata', 'true') \
                        .getOrCreate()

还有一些完全不同的组合,没有火花。例如hadoop。

我试图在PySpark中运行的代码:

spark_session = session.get_session()
sc = spark_session.sparkContext

df = spark_session.createDataFrame(sc.emptyRDD(), schema)

df.write.mode('overwrite').parquet(path, compression='none')

# this works
df = spark_session.read.schema(schema).parquet(path)

# This throws an error
df = spark_session.read.parquet(path)

共有1个答案

西门山
2023-03-14

这是sc.emptyRDD()的行为问题。您可以在上找到更多信息https://github.com/apache/spark/pull/12855为什么会发生这种行为。

当前的解决方案是执行以下操作:df=spark_session.createDataFrame(sc.emptyRDD(), Schema). re分区(1),并且仍然具有问题中提到的配置设置。

 类似资料:
  • 有人知道如何在Twilio语音请求中启用SIP元数据(按此留档:https://www.twilio.com/docs/api/twiml/twilio_request)吗? 我们通过弹性SIP中继向Twilio号码发送呼叫。我们希望在Twilio请求中使用SIP元数据来使用Twiml路由呼叫。最终,我们将与外部合作伙伴一起完成这项工作,但我们现在正在用自己在Twilio中的数字进行测试。 动机是

  • 注意:我已经阅读了如何重塑BatchDataset类张量?但是解决方案在这里不适用。 正如在训练一个神经网络时所提到的,输入是带有Tensorflow/Keras的矩阵的滑动窗口,记忆问题,我需要从一个形状矩阵(10000,2000)训练一个具有所有形状滑动窗口(16,2000)的神经网络。(在我的另一篇文章中是100k,但这里10k还可以)。 问题是,我需要把它输入一个需要(...,16, 20

  • 我需要在spring boot data rest api中启用全局CORS,以防止在从浏览器调用api时出现以下错误:http://localhost:8090/posts?user-id=1。请求的资源上没有“访问-控制-允许-来源”标头。因此,不允许访问源“http://localhost”。“ 我可以在a浏览器中键入url并接收该资源的正确get响应,但我不能从网页中的ajax调用中发出相

  • 我们如何在最初的Eureka注册之前将引导时间戳放入环境中,这样应用程序就不会在没有时间戳的情况下出现在Eureka中?

  • 我有一个简单的Spring启动Web应用程序,它从数据库中读取并返回JSON响应。我有以下测试配置: 我有一个数据源 Bean,它是在应用程序的主配置中配置的。当我运行测试时,Spring 尝试加载上下文并失败,因为数据源取自 JNDI。一般来说,我想避免为此测试创建数据源,因为我有模拟的存储库。 是否可以在运行单元测试时跳过数据源的创建? 在内存中测试数据库不是一个选项,因为我的数据库创建脚本具

  • 我试图在wp_woocommerce_order_itemmeta表中创建自定义元数据。但是要创建我想存储为元数据的数据,我需要知道在WooCommerce钩子woocommerce_checkout_create_order_line_item上创建的订单项的product_id。 我已经成功地用会话变量的值创建了一个元记录,但是当我试图获取订单项目的产品id时,我的代码失败了。我非常希望能找到