跳转至

Linter(Linter(代码检查工具))

How often does Linter run sweeps?

Linter runs sweeps weekly by default, but this is configurable.

Timestamp: April 11, 2024

Is there an auto-fix feature available in Linter?

Linter does not currently support auto-fix, but there is work in progress to enable this in the future.

Timestamp: April 11, 2024

How should I interpret the batch compute savings number for a collection of datasets built on different schedules?

The batch compute savings number represents the sum of resource usage across all unused resources in the schedule over the last calendar month, aggregated and not distinguishing between different schedules. To make better estimates, you can look at past builds of the dataset and see the allocation that came from each schedule.

Timestamp: April 11, 2024

How can I avoid double-counting in impact tracking if the dataset is removed from both schedules?

To avoid double-counting in impact tracking when removing the dataset from both schedules, you need to pass an "invalidate" flag to the second schedule as soon as you action the first.

Timestamp: April 11, 2024

How can a user enable Linter on their Foundry enrollment?

An enrollment admin needs to first enable the application in the Application access section of Control Panel.

Timestamp: April 9, 2024

Why are "Schedule potentially unused" recommendations being flagged for datasets involved in external transformations, and how can this issue be addressed?

The alerts are flagged due to the Linter's inability to identify external transformations, treating them as false positives. The development team is actively working on enhancing Linter so that it can identify such cases better in the future.

Timestamp: April 11, 2024

What permissions does Linter use when scanning, and are there any limitations that might prevent it from scanning a repository or folder?

Linter uses a service token with no restrictions on permissions for scanning, but user visibility on recommendations is limited by their permissions on the underlying resources. Note that Linter only considers scheduled resources for generating recommendations.

Timestamp: April 11, 2024

Can Linter make recommendations inside code repositories, and how long does it take for Linter to start making recommendations for new projects?

Integration of Linter recommendations into code repositories is not currently available. For new projects, Linter can immediately start looking for recommendations if the project's space is already in a linting scope. Some recommendations will appear immediately, while others may require a minimum duration to report a recommendation. There is no requirement for a project to exist for a specific amount of time before enabling Linter on it.

Timestamp: April 11, 2024

Do users need to manually determine the amount of CPU and memory when actioning a "Transform should use lightweight" recommendation?

Yes, while there is a default lightweight profile suggested, manual tuning may be required to achieve the most optimal profile for a lightweight transform.

Timestamp: April 9, 2024

How should the DYNAMIC_ALLOCATION_MAX_N value be determined when updating the transform profiles for optimizing over-provisioned cores?

The DYNAMIC_ALLOCATION_MAX_N value should be determined by either switching from NUM_EXECUTORS_N to enable dynamic allocation, thereby releasing idle executors, or by examining the job's Spark details to understand the actual average parallelism and selecting a maximum number of executors based on that. Additionally, enabling the DYNAMIC_ALLOCATION_ENABLED profile without changing the NUM_EXECUTORS_N profile achieves a similar optimization. Further guidance can be found in the provided documentation on dynamic allocation.

Timestamp: April 9, 2024

What should be done when a schedule flagged in Linter is deleted and a new one created, but the deleted schedule's recommendation does not resolve?

This is a bug currently present in the product. The immediate workaround is to manually snooze the recommendation.

Timestamp: April 17, 2024

How can we enable autofix for sweep schedules?

Autofix for sweep schedules does not currently exist as a feature.

Timestamp: June 24, 2024

What should be done when builds fail due to Velox being turned on for transforms using an EXECUTOR_MEMORY_SMALL profile?

Try increasing the memory profile to EXECUTOR_MEMORY_MEDIUM, or to EXECUTOR_MEMORY_OVERHEAD_MEDIUM.

Timestamp: June 24, 2024

How can I make a Data Connection ingest process more efficient when it is flagged with the "Incremental append dataset too many files" rule?

Use a Projection to compact the transactions, and schedule the Projection to build on a regular cadence, such as every 100 transactions or weekly, depending on the update frequency of the dataset.

Timestamp: June 12, 2024

In the alert description stating "Some but not all can be built locally", does it refer to the datasets that can be built locally or all datasets in the workbook?

The alert refers to the datasets that can be built locally and not all datasets in the workbook.

Timestamp: July 30, 2024

Where can we control what rules our Linter service is using, specifically for implementing user-scoped schedules?

You can create custom sweep schedules in the space settings. By default, the Linter only runs cost rules on all spaces, but the project-scoped schedule rule is categorized under 'best practice' rules.

Timestamp: May 23, 2024

What are the permission requirements for accessing the Impact Tracking page?

The Impact Tracking page is accessible to everyone, but only the metrics of resources that the user can view are displayed. Viewer access on the resource is required to view the associated impact summary on that resource. Additionally, to view Estimated saving and Verified saving, the user must also have the Resource management viewer/administrator role at the enrollment level.

Timestamp: August 20, 2024

Why can I only see "Force builds" recommendations for pipeline resilience rules?

Resource saving rules do not need to be set up manually, as the sweep for that category is on by default. However, other categories, such as pipeline resilience rules, do not have a respective sweep schedule turned on by default. Some rules, such as "Force builds", can be in multiple categories (such as resource saving and pipeline resilience rules). As this rule is included in the cost savings, it is turned on by default. You can turn on more sweep schedules, such as "Best practices rules" (which feed the pipeline resilience mode), in the sweep schedule configuration in Control Panel or by individually including pipeline resilience rules.

Timestamp: August 22, 2024

How can I enabled other rules for "Pipeline resilience" in Linter?

By default, only cost rules are enabled in the Linter app. To enable other Pipeline Resilience rules, you need to manually configure your sweep schedule to include the appropriate rules/presets. More information on this can be found here.

Timestamp: September 17, 2024

How can I view which Linter alert resulted in the various savings spikes on the "Estimated savings" tab?

You need to switch to the tabular view on the impact tracking page to see this information.

Timestamp: December 10, 2024


中文翻译


Linter(代码检查工具)

Linter 执行扫描的频率是多久一次?

Linter 默认每周执行一次扫描,但此频率可配置。

时间戳: 2024年4月11日

Linter 是否提供自动修复功能?

Linter 目前不支持自动修复,但未来计划启用此功能,相关工作正在进行中。

时间戳: 2024年4月11日

对于按不同计划构建的数据集集合,应如何解读其批处理计算节省量?

批处理计算节省量表示过去一个日历月内,计划中所有未使用资源的总资源使用量之和,该数值为聚合结果,不区分不同计划。为更准确估算,可查看数据集的历史构建记录,了解每次构建来自哪个计划的资源分配。

时间戳: 2024年4月11日

如果数据集同时从两个计划中移除,如何避免影响追踪中的重复计算?

为避免从两个计划中移除数据集时影响追踪出现重复计算,需要在执行第一个计划操作后,立即向第二个计划传递一个"无效化"标志。

时间戳: 2024年4月11日

用户如何在 Foundry 注册中启用 Linter?

注册管理员需先在控制面板的应用程序访问部分启用该应用。

时间戳: 2024年4月9日

为什么涉及外部转换的数据集会触发"计划可能未使用"建议?如何解决此问题?

触发警报是因为 Linter 无法识别外部转换,将其视为误报。开发团队正积极优化 Linter,使其未来能更好地识别此类情况。

时间戳: 2024年4月11日

Linter 扫描时使用什么权限?是否存在限制导致其无法扫描仓库或文件夹?

Linter 使用无权限限制的服务令牌进行扫描,但用户对建议的可见性受限于其对底层资源的权限。请注意,Linter 仅考虑已计划的资源来生成建议。

时间戳: 2024年4月11日

Linter 能否在代码仓库内提供建议?新项目启用后多久能开始接收建议?

目前 Linter 暂不支持在代码仓库内集成建议。对于新项目,如果其空间已在 Linter 扫描范围内,则可立即开始查找建议。部分建议会立即显示,而其他建议可能需要一定时间才能生成。项目无需存在特定时长即可启用 Linter。

时间戳: 2024年4月11日

用户在执行"转换应使用轻量级"建议时,是否需要手动确定 CPU 和内存量?

是的,虽然系统提供了默认的轻量级配置文件建议,但可能需要手动调整才能获得最适配轻量级转换的配置。

时间戳: 2024年4月9日

在优化过度配置的核心时,更新转换配置文件应如何确定 DYNAMIC_ALLOCATION_MAX_N 值?

DYNAMIC_ALLOCATION_MAX_N 值可通过以下方式确定:从 NUM_EXECUTORS_N 切换为动态分配以释放空闲执行器,或检查作业的 Spark 详情了解实际平均并行度,并据此选择最大执行器数量。此外,启用 DYNAMIC_ALLOCATION_ENABLED 配置文件而不更改 NUM_EXECUTORS_N 配置文件也可实现类似优化。更多指导请参阅提供的动态分配文档。

时间戳: 2024年4月9日

当 Linter 标记的计划被删除并创建新计划后,已删除计划的建议仍未解决,应如何处理?

这是产品当前存在的缺陷。临时解决方案是手动暂停该建议。

时间戳: 2024年4月17日

如何为扫描计划启用自动修复?

目前尚不存在扫描计划的自动修复功能。

时间戳: 2024年6月24日

当使用 EXECUTOR_MEMORY_SMALL 配置文件的转换因启用 Velox 而导致构建失败时,应如何处理?

尝试将内存配置文件升级为 EXECUTOR_MEMORY_MEDIUMEXECUTOR_MEMORY_OVERHEAD_MEDIUM

时间戳: 2024年6月24日

当数据连接摄取过程被标记为"增量追加数据集文件过多"规则时,如何提高其效率?

使用投影(Projection)压缩事务,并按固定频率(例如每100次事务或每周,取决于数据集更新频率)调度投影构建。

时间戳: 2024年6月12日

警报描述"部分数据集可本地构建,但非全部"中,是指可本地构建的数据集还是工作簿中的所有数据集?

该警报特指可本地构建的数据集,而非工作簿中的所有数据集。

时间戳: 2024年7月30日

在哪里可以控制 Linter 服务使用的规则?特别是针对用户级计划的规则。

您可以在空间设置中创建自定义扫描计划。默认情况下,Linter 仅对所有空间运行成本规则,但项目级计划规则归类为"最佳实践"规则。

时间戳: 2024年5月23日

访问影响追踪页面需要什么权限?

所有用户均可访问影响追踪页面,但仅显示用户有权查看的资源的指标。需要拥有资源的查看者权限才能查看该资源的相关影响摘要。此外,要查看预估节省已验证节省,用户还必须在注册级别拥有资源管理查看者/管理员角色。

时间戳: 2024年8月20日

为什么我只能看到管道弹性规则的"强制构建"建议?

资源节省规则无需手动设置,因为该类别的扫描默认开启。但其他类别(如管道弹性规则)默认未开启相应的扫描计划。某些规则(如"强制构建")可属于多个类别(如资源节省和管道弹性规则)。由于该规则包含在成本节省中,因此默认开启。您可以在控制面板的扫描计划配置中开启更多扫描计划(如"最佳实践规则",该规则支持管道弹性模式),或单独包含管道弹性规则。

时间戳: 2024年8月22日

如何在 Linter 中启用其他"管道弹性"规则?

默认情况下,Linter 应用仅启用成本规则。要启用其他管道弹性规则,需手动配置扫描计划以包含相应规则/预设。更多信息请参见此处

时间戳: 2024年9月17日

如何查看"预估节省"选项卡中各项节省峰值对应的 Linter 警报?

您需要切换到影响追踪页面的表格视图才能查看此信息。

时间戳: 2024年12月10日