问题标签 [data-lake]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - 数据库、数据集市、数据仓库、数据湖
寻找高层之间的差异/比较
- 数据库
- 数据集市(自上而下的方法)
- 数据仓库
- 数据湖
当没有具体情况时,请使用相对比较。
architecture - 数据湖:修复 Ingestion vs ETL 上损坏的文件
客观的
我正在构建数据湖,一般流程看起来像 Nifi -> 存储 -> ETL -> 存储 -> 数据仓库。
Data Lake 的一般规则听起来像是在摄取阶段没有预处理。所有正在进行的处理都应在 ETL 进行,因此您对原始和处理过的数据有出处。
问题
源系统发送损坏的 CSV 文件。意味着除了标题和数据之外,第一行总是我们永远不会使用的自由格式元数据。只有单个表损坏,损坏的 CSV 目前由单个 Spark 作业使用(让我们称之为X
)。
问题
在 Nifi 层删除这两条线是一个好方法吗?请参阅“解决方法”中的选项 3。
解决方法
- 处理 Spark 作业中损坏的记录
X
。恕我直言,这是一种不好的方法,因为我们将来会在不同的工具上使用该文件(数据治理模式爬虫,可能是一些 Athena/ADLA 类引擎而不是 ADLS/S3)。意味着应该在多个地方实现损坏的记录处理逻辑。 - 修复 ETL 层上损坏的文件并将它们存储在“修复”层。所有正在进行的活动(ETL、数据治理、MPP 引擎)仅适用于“固定”层,而不是“原始”层。这对我来说听起来像是一种开销,为单个 CSV 创建一个新层。
- 在 Nifi 层修复(从 CSV 中删除前两个字符串)。意味着“原始”存储层将始终包含可读数据。恕我直言,这很好,因为它很简单,并且处理逻辑在一个地方实现。
amazon-s3 - 在 AWS 上实施 cdc 和重复数据删除
我想在 AWS S3 中构建一个数据湖,并问自己如何使用 CDC。我想避免从源加载整个数据,而且我想避免目标中的重复。是否有一些行之有效的方法来解决这个问题?
amazon-web-services - 我们是否可以限制特定用户访问 Athena 中的某些数据库,而其余用户应该看到其他数据库?
问题陈述:我们是否可以限制特定用户访问 Athena 中的某些数据库,而其余用户应该看到其他数据库?
- 我们在 s3 存储桶中创建了数据湖。它处于开发阶段。
- 客户端的最终用户使用相同的 s3 存储桶数据湖。
- 这些客户用户可以在开发阶段看到数据库,这给他们造成了混乱。在这种情况下,命名约定没有帮助。
- 我们是否可以限制对用户级别的访问以避免不想要的数据库出现在客户端用户面前?
azure-storage - 使用 AzCopy 将 ADLS 同步到 Azure 存储
寻找一些帮助来解决我面临的错误。让我解释一下这个场景。我正在尝试将 ADLS Gen2 容器之一同步到 Azure BLOB 存储。我有AzCopy 10.4.3
,我Azcopy Sync
用来做这个。我正在使用下面的命令
azcopy sync 'https://ADLSGen2.blob.core.windows.net/testsamplefiles/SAMPLE' 'https://AzureBlobStorage.blob.core.windows.net/testsamplefiles/SAMPLE' --recursive
当我运行此命令时,出现以下错误
到目前为止,我检查并确保了以下事情
- 我在登录时登录了正确的租户
AzCopy
Storage Blob Data Contributor
角色已授予我的 AD 凭据
不确定我还缺少什么,因为源文件中存在该文件并且我遇到了同样的错误。我尝试使用 SAS,但我收到了不同的错误。由于供应商政策,我无法继续使用 SAS,因此我需要确保它与 oAuth 一起使用。任何输入都非常感谢。
hadoop - 数据湖的原始数据层可以包含表吗?
我在网上看到的所有 Data Lake 文章都说着陆区包含文件形式的原始数据。但是让我们说,我正在从一些物联网设备中摄取流数据。然后我可以将这些数据直接放入一个表中(例如一个 Hive 表,其信息包括时间戳)还是这是一个不好的做法?
aws-glue - AWS Glue ETL 作业使用 Join.apply Vs SQL JOIN Query 获取最终数据帧
我对 AWS 还很陌生,目前正在探索它。我希望就实施这项工作的最佳方式获得见解或建议。
我想从多个 mysql 表中获取数据。
- 用户交易
- 用户贷款
- 促销优惠
为了获得决赛桌,我找到了以下两种方法。
方法一:
- 然后为每个表创建目录,
- 然后申请 Join.apply 获得最终
- 最后,将所有数据放入S3
方法二:
- 立即准备好 final_history 数据,
- 最后将所有数据放入S3
哪种方法是最好的方法以及如何将 jobBookmarkKeys 应用于方法 2?
microservices - 对于基于 Spring 的微服务,我们如何从数据湖中推送和拉取数据。.如何使用微服务与数据湖中的数据进行交互
我想创建一个基于 Spring 的微服务架构,我可以在其中接收有关产品的一些评论并将其存储到数据湖中。每当我需要它时,我想从该数据湖中检索它。那么我应该进行哪些额外的编程需要推送数据并从数据湖获取数据。微服务如何与存储在数据湖中的数据进行通信。
data-lake - 跟踪 Datalake 模式
我有一个关于在 Datalake 中跟踪模式的一般性问题。在各种日志中,我有一些字段存在于每个日志中。还有其他字段因日志类型而异。我的团队一致认为只添加字段,而不删除现有字段。
我们首先将所有日志以 JSON 格式导入 AWS S3,然后将日志转换为 PARQUET,这里架构变得很重要。对于每个日志中存在的字段,我们强制使用原始数据类型,例如 id 或 date。对于日志类型不同的其他字段,将其转换为 JSON STRING 并保存为单列。
在这种情况下,是否有任何工具可用于找出数据的确切模式?AWS GLUE 似乎没有提供对此类数据进行分类的方法。或者,在其他情况下,请随时告诉我跟踪模式演变的适当方法。提前非常感谢!
apache-spark - 用于存储有关表、它们的源和 DWH 的 ETL 信息的工具
我正在寻找用于存储我的 DWH 的表、数据源、etl 进程等文档的工具。我在 youtube 上看过一些演示文稿,但我发现,大多数公司都在使用自定义、自己的系统或类似 wiki 之类的纯文本描述。我认为,对于分析师、经理和其他用户来说,找出他们需要什么以及如何使用数据来计算适合他们的统计数据并不是那么有用。你能建议我用什么来处理这种情况吗?我必须读什么?