小编Ard*_*oli的帖子

您可以通过在 SQL 中运行“REFRESH TABLE tableName”命令或重新创建涉及的数据集/数据帧来显式使 Spark 中的缓存失效

我在 Azure 上使用 DataBricks 作为服务。这是我的集群信息:

在此输入图像描述

我按照命令运行,一切正常。

 %sql
 Select 
    * 
 from db_xxxxx.t_fxxxxxxxxx
 limit 10
Run Code Online (Sandbox Code Playgroud)

然后我更新了上表中的一些行。当我再次运行上面的命令时,出现此错误:

    Error in SQL statement: SparkException: Job aborted due to stage failure: Task 3 in stage 2823.0 failed 4 times, most recent failure: Lost task 3.3 in stage 2823.0 (TID 158824, 10.11.49.6, executor 14): com.databricks.sql.io.FileReadException: Error while reading file abfss:REDACTED_LOCAL_PART@storxfadev0501.dfs.core.windows.net/xsi-ed-faits/t_fait_xxxxxxxxxxx/_delta_log/00000000000000000022.json. It is possible the underlying files have been updated. You can explicitly invalidate the cache in Spark by running 'REFRESH TABLE tableName' command in SQL or by …
Run Code Online (Sandbox Code Playgroud)

azure-databricks

6
推荐指数
1
解决办法
4万
查看次数

Spark SQL 中的合并 - 当源不匹配时

我正在 Databricks 中编写 Python 和 Spark SQL,并且使用 Spark 2.4.5。

我有两张桌子。

Create table IF NOT EXISTS db_xsi_ed_faits_shahgholi_ardalan.Destination
(
  id Int,
  Name string,
  Deleted int
) USING Delta;

Create table IF NOT EXISTS db_xsi_ed_faits_shahgholi_ardalan.Source
(
  id Int,
  Name string,
  Deleted int
) USING Delta;
Run Code Online (Sandbox Code Playgroud)

我需要在源和目标之间运行合并命令。我写了下面的命令

%sql
MERGE INTO db_xsi_ed_faits_shahgholi_ardalan.Destination AS D
USING db_xsi_ed_faits_shahgholi_ardalan.Source AS S
ON (S.id = D.id)
-- UPDATE
WHEN MATCHED AND S.Name <> D.Name THEN 
  UPDATE SET 
    D.Name = S.Name
-- INSERT    
WHEN NOT MATCHED THEN 
  INSERT (id, Name, …
Run Code Online (Sandbox Code Playgroud)

apache-spark apache-spark-sql azure-databricks

6
推荐指数
1
解决办法
5358
查看次数

使用Dapper.net进行多映射查询时出现意外行为

我刚刚开始关注Dapper.net并且刚刚尝试了一些不同的查询,其中一个产生了我不希望的奇怪结果.

我有2张桌子 - Photos&PhotoCategories,其中有关系CategoryID

照片表

PhotoId (PK - int)  
CategoryId (FK - smallint)  
UserId (int)
Run Code Online (Sandbox Code Playgroud)

PhotoCategories表

CategoryId (PK - smallint)  
CategoryName (nvarchar(50))
Run Code Online (Sandbox Code Playgroud)

我的2个班:

public class Photo
{
    public int PhotoId { get; set; }
    public short CategoryId { get; set; }
    public int UserId { get; set; }
    public PhotoCategory PhotoCategory { get; set; }
}

public class PhotoCategory
{
    public short CategoryId { get; set; }
    public string CategoryName { get; set; }
{
Run Code Online (Sandbox Code Playgroud)

我想使用多映射来返回一个实例 …

c# asp.net mapping dapper

5
推荐指数
1
解决办法
2117
查看次数

SQL Server MERGE语句和ORDER BY子句

我想写一个MERGE语句,通过使用ORDER BY子句从一个大表中选择TOP 10行,并更新它的一个列值.MERGE语句允许我选择TOP 10行,但我无法将ORDER BY子句放在任何地方.

MERGE TOP(10) StudentAllocation AS SA
USING (SELECT @sub_id AS subId) AS TSA ON SA.sub_id = TSA.subId
WHEN MATCHED THEN 
       UPDATE SET SA.exam_batch = 1);
Run Code Online (Sandbox Code Playgroud)

sql-server sql-order-by merge-statement

5
推荐指数
1
解决办法
6967
查看次数

是否可以动态提供 sp_ExecuteSql 参数名称?

是否可以动态地向 sp_ExecuteSql 提供参数列表?

在 sp_ExecuteSql 中,查询和参数定义是字符串。我们可以为这些使用字符串变量,并传入我们想要执行的任何查询和参数定义。但是,在为参数赋值时,我们似乎不能使用字符串或字符串变量作为参数名称。

例如:

DECLARE @SelectedUserName NVARCHAR(255) ,
    @SelectedJobTitle NVARCHAR(255);
SET @SelectedUserName = N'TEST%';
SET @SelectedJobTitle = N'%Developer%';

DECLARE @sql NVARCHAR(MAX) ,
    @paramdefs NVARCHAR(1000);
SET @sql = N'select * from Users where Name LIKE @UserName '
    + N'and JobTitle LIKE @JobTitle;'
SET @paramdefs = N'@UserName nvarchar(255), @JobTitle nvarchar(255)';
EXEC sp_ExecuteSql @sql, @paramdefs, @UserName = @SelectedUserName,
    @JobTitle = @SelectedJobTitle;
Run Code Online (Sandbox Code Playgroud)

查询@sql 和参数定义@paramdefs 可以作为字符串变量动态传递到sp_ExecuteSql 中。但是,在我看来,在为参数赋值时,我们不能动态赋值,必须始终提前知道参数的数量及其名称。请注意在我的示例中我如何动态声明参数 @UserName 和 @JobTitle 并将该声明作为字符串变量传递,但是当我想设置它们时,我必须明确指定参数名称。有没有办法绕过这个限制?

我希望能够动态声明参数并动态分配给它们。就像是:

EXEC sp_ExecuteSql @sql, @paramdefs,
    N'@UserName = @SelectedUserName, @JobTitle = @SelectedJobTitle'; …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

5
推荐指数
2
解决办法
9653
查看次数

OLE DB或ODBC错误:用户'NT AUTHORITY\NETWORK SERVICE登录失败

我使用SQL Server 2008 R2和SQL Server Business Intelligence Development Studio.

我创建了一个项目 Business Intelligence Project

我创建一个Data SourceOf Adventure Work 2008 DW然后我创建一个Data Source View

然后我创建一个Cube.

我可以buildrebuild我的项目,但当我想要Deploy我得到34错误.

第一个错误是

OLE DB error: OLE DB or ODBC error: Login failed for user 'NT AUTHORITY\NETWORK 
SERVICE'.; 28000; Cannot open database "AdventureWorksDW2008" requested by the login.
The     login failed.; 42000.   
Run Code Online (Sandbox Code Playgroud)

我发现此链接:SQL Server 2012:用户'NT Service\MSSQLServerOLAPService'登录失败.28000

但它对我不起作用.

sql sql-server olap ssas sql-server-2008-r2

5
推荐指数
2
解决办法
2万
查看次数

我该如何扩展layout.html

我正在使用sphinx 1.2.2和readthedocs.ru以及默认主题(sphinx_rtd_theme).

我怎么可以延长layout.html?以下代码不起作用:

#_templates/layout.html
{% extends "!layout.html" %}
{% block extrahead %}
  {{ super() }}
  <link href='http://fonts.googleapis.com/css?family=PT+Mono&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

python-sphinx

5
推荐指数
0
解决办法
424
查看次数

当前事务无法提交,也无法回滚到保存点。回滚整个事务 - 'Msg 3931,Level 16,State 1

我使用 SQL Server 2014 并且我已经运行了这个测试 T/SQL。

    BEGIN TRY
        BEGIN TRANSACTION T1

        CREATE TABLE aa9
        (
            A int
        )

        SAVE TRANSACTION S1

        INSERT INTO aa9 (A) VALUES ('aa')

        COMMIT TRANSACTION T1

    END TRY 
    BEGIN CATCH 
        ROLLBACK TRANSACTION S1
        PRINT 'Error ..... '
        ;throw
    END CATCH 
Run Code Online (Sandbox Code Playgroud)

为什么我会收到此错误:

消息 3931,级别 16,状态 1,第 17 行
当前事务无法提交,也无法回滚到保存点。回滚整个事务。

我应该能够将事务回滚到我的 SavePoint 事务吗?

sql t-sql transactions sql-server-2014

5
推荐指数
1
解决办法
5199
查看次数

如何创建从SSAS数据库备份的作业?

我用SQL Server 2008 R2和SSAS.

我在SSAS中有一些维数据库.

我需要创建一份工作,以便每天从SSAS的所有DataBase备份.

我怎么能这样做?

sql-server ssas database-backups sql-server-2008-r2

4
推荐指数
1
解决办法
3092
查看次数

术语“New-AzResourceGroupDeployment”未被识别为 cmdlet、函数的名称

我需要在我的 PowerShell 中运行以下命令:

New-AzResourceGroupDeployment 
    -Name Myrg1010 
    -ResourceGroupName ADFcslResourceGroup 
    -TemplateFile C:\ADFARM.json 
    -TemplateParameterFile C:\ADFARM-Parameters.json
Run Code Online (Sandbox Code Playgroud)

在运行此命令之前,我已连接到 Azure 订阅

Connect-AzAccount
Run Code Online (Sandbox Code Playgroud)

但我有以下错误:

New-AzResourceGroupDeployment : The term 'New-AzResourceGroupDeployment' is 
not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name, 
or if a path was included, verify that the
path is correct and try again.
At line:1 char:1
+ New-AzResourceGroupDeployment -Name MyARMDeployment -ResourceGroupNam ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (New- 
   AzResourceGroupDeployment:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : …
Run Code Online (Sandbox Code Playgroud)

powershell azure azure-resource-group

4
推荐指数
2
解决办法
5865
查看次数