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

有人能解释一下MS Azure中数据库中数据阶段的开始到结束的顺序吗?

夏祺然
2023-03-14

我正在MS azure中学习Databricks,并已获得完成任务的4个步骤:

  1. 将csv文件(自己识别相关数据集)上载到dbfs
  2. 对数据集执行一些基本的转换活动
  3. 最后将输出保存到数据块的Delta表中
  4. 一旦创建了delta表,就可以在databricks中实现单元测试(对于某些测试用例,比如count列分析,pytest可以用于任何其他模块)

我完成了第一步,但在第二步中,我被告知创建一个数据帧,并通过增量表执行sql活动,而我对此并不知情。有人能分享一下在处理数据块时需要做的事情的顺序吗

共有1个答案

章学义
2023-03-14

将csv加载到数据帧中

df =( spark.read.format('csv')
      .option("header","true")
      .load('dbfs:/path_to_csv/filename.csv')
    )

从那里,您可以将其保存到一个增量表中:

df.write.format("delta").save("/mnt/delta/filename")
spark.sql("CREATE TABLE delta_table_name USING DELTA LOCATION '/mnt/delta/filename/'")

并使用一些SparkSQL来查询和分析数据:

# In Python
df = spark.table("delta_table_name")
display(df.groupBy('some_column')
          .count()
          .orderBy('count', ascending=False))

或者可以使用SQL查询

%sql
SELECT * FROM delta_table_name 
 类似资料:
  • 向表中插入数据,记录中有一个字段涉及到当前记录是当前租户下第几个插入的,也就是顺序码,如何维护这个顺序码,在保证线程安全的情况下,不同租户的记录都保存在同一张表下, 目前的做法是插入数据的时候不插入该字段,获取该表记录列表的时候按照插入时间排序,然后判断对应字段是否为空,如果为空则插入

  • 问题内容: 我需要将数据“添加”到已经包含数据的字段中,而不会删除当前的内容。例如,如果该字段包含HTML,则需要向该字段添加其他HTML。是否存在将执行此操作的SQL调用,或者我需要调用该字段中的数据,将新数据连接到现有数据,然后将其重新加载到数据库中? 问题答案:

  • 我有一个Spark UDF,它需要在executor的本地磁盘上安装一个特定的文件(在我的例子中是MATLAB运行时)(我们使用的是YARN)。因为我不能直接访问executor机器,所以我必须找到另一种方法在集群上部署我的运行时。由于文件非常大,我不能在每次调用UDF时安装/删除它,所以我考虑了以下策略: null 似乎没有办法为执行者添加关机钩子(Spark worker shutdown-如

  • 本文向大家介绍请你解释一下,什么是数据库中事务的ACID?相关面试题,主要包含被问及请你解释一下,什么是数据库中事务的ACID?时的应答技巧和注意事项,需要的朋友参考一下 考察点:数据库   原子性(Atomic):事务中各项操作,要么全做要么全不做,任何一项操作的失败都会导致整个事务的失败; 一致性(Consistent):事务结束后系统状态是一致的; 隔离性(Isolated):并发执行的事务

  • 我想写一个brainfuck口译员,但我错过了一些上下文或其他东西。应该被调用以处理“

  • 我是Hibernate和JPA的新手,我对这个注释有问题。有人能简单地解释一下这个注释到底在做什么吗?因为在这种情况下,文档对我来说很难理解。 编辑我明白什么是持久上下文,但在代码中,我有这样的例子: 我对@PerustenceContext做什么有问题。抱歉,也许我没有具体说明。