首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当在达美湖中创建三角洲表时会发生什么?

当在达美湖中创建三角洲表时会发生什么?
EN

Stack Overflow用户
提问于 2022-04-28 19:11:37
回答 1查看 598关注 0票数 1

使用Databricks Lakehouse平台,可以使用如下语句创建“表”或更具体的增量表,

代码语言:javascript
复制
DROP TABLE IF EXISTS People10M;
CREATE TABLE People10M
USING parquet
OPTIONS (
  path "/mnt/training/dataframes/people-10m.parquet",
  header "true"
);

我想知道的是,当您创建这些表之一时,幕后到底发生了什么?在这种情况下,表究竟是什么?因为数据实际上包含在数据湖(数据存储位置)中的文件中,所以delta湖运行在..。对吗?表是否是某种抽象,允许我们使用类似SQL的方法访问存储在这些文件中的数据?

这个语句的USING parquet部分是做什么的?地板桌在某种程度上与CSV表有什么不同吗?还是这仅仅取决于源数据的格式?

任何与解释这一想法的材料的链接将不胜感激?我想从技术角度深入了解这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-29 08:29:58

这里有几个方面。您的表定义不是Delta,而是定义表的Spark (或Hive)语法。它只是一种元数据,允许用户在不知道表的位置、数据格式等的情况下轻松地使用该表。您可以在数据库文档中阅读更多关于数据库和表的信息。

数据存储的实际格式由USING指令指定。在您的示例中,它是parquet,所以当人员或代码将读取或写入数据时,底层引擎将首先读取表元数据,确定数据和文件格式的位置,然后使用相应的代码。

Delta是另一种文件格式(实际上是存储层),它构建在Parquet之上作为数据格式,但是添加了额外的功能,如ACID、时间旅行等(参见文档)。如果您想使用Delta而不是Parquet,那么您需要使用转换为德尔塔将现有的Parquet数据转换为Delta,或者在创建一个全新的表时指定USING delta

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72049060

复制
相关文章

相似问题

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