首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火花保存数据元数据并重用它

火花保存数据元数据并重用它
EN

Stack Overflow用户
提问于 2017-08-21 05:32:00
回答 1查看 1.4K关注 0票数 0

当我读取一个包含大量文件的数据集(在我的例子中是来自google的数据集)时,spark.read在第一次操作之前会工作很长时间。我不知道它能做什么,但我猜它映射了文件并对它们进行了示例,以推断模式。

我的问题是,是否可以将收集到的有关数据的元数据保存起来并在dataset上的其他工作中重用它。

-更新--

数据排列如下:

gs://bucket-name/table_name/day=yyyymmdd/many_json_files

当我运行:df = spark.read.json("gs://bucket-name/table_name"),这需要很多时间。我希望我能做到以下几点:

代码语言:javascript
复制
df = spark.read.json("gs://bucket-name/table_name") 
df.saveMetadata("gs://bucket-name/table_name_metadata") 

在另一届会议上:

代码语言:javascript
复制
df = spark.read.metadata("gs://bucket-name/table_name_metadata").‌​json("gs://bucket-na‌​me/table_name") 
... 
<some df manipulation> 
...
EN

回答 1

Stack Overflow用户

发布于 2017-08-21 07:15:43

如果有很多具有相同模式的文件,我们只需要推断一次模式,并将其用于后面的文件。就像这样。

代码语言:javascript
复制
val df0 = spark.read.json("first_file_we_wanna_spark_to_info.json")

val schema = df0.schema

// for other files
val df = spark.read.schema(schema).json("donnot_info_schema.json")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45789884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档