小编jym*_*mbo的帖子

从 Scala/Spark 写入 SQL Server 日期时间数据类型

我正在尝试使用与此类似的方法从数据块笔记本中批量插入 SQL Server 表:

批量复制到 Azure SQL 数据库或 SQL Server

这工作正常,直到我尝试写入数据类型为日期时间的列。我试图写入的表具有以下架构:

create table raw.HubDrg_TEST
(
  DrgKey varchar(64) not null,
  LoadDate datetime,
  LoadProcess varchar(255),
  RecordSource varchar(255),
  DrgCode varchar(255)
 )
Run Code Online (Sandbox Code Playgroud)

我的Scala代码如下:

//Get dataset for data in staging table
var stagedData: DataFrame = spark.read
  .format("com.databricks.spark.sqldw")
  .option("url", sqlDwUrlSmall)
  .option("tempDir", tempDir)
  .option("forwardSparkAzureStorageCredentials", "true")
  .option("query", "select distinct CodeID as DrgCode, getdate() as LoadDate from StageMeditech.livendb_dbo_DAbsDrgs").load() 

//Get dataset for data in existing Hub
val existingHub: DataFrame = spark.read
  .format("com.databricks.spark.sqldw")
  .option("url", sqlDwUrlSmall)
  .option("tempDir", tempDir)
  .option("forwardSparkAzureStorageCredentials", "true")
  .option("query", "Select …
Run Code Online (Sandbox Code Playgroud)

sql-server scala apache-spark databricks

6
推荐指数
0
解决办法
1290
查看次数

在C#中使用嵌套数组反序列化JSON

我在这里尝试反序列化这个JSON时遇到了麻烦:

{
    "response": {
        "numfound": 1,
        "start": 0,
        "docs": [
            {
                "enID": "9999",
                "startDate": "2013-09-25",
                "bName": "XXX",
                "pName": "YYY",
                "UName": [
                    "ZZZ"
                ],
                "agent": [
                    "BobVilla"
                ]
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

我为此创建的类是:

public class ResponseRoot {
    public Response response;
}

public class Response {
    public int numfound { get; set; }
    public int start { get; set; }
    public Docs[] docs;
}

public class Docs {
    public string enID { get; set; }
    public string startDate { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# json deserialization

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

Java将HDFS中的文件复制到HDFS中的另一个目录

我使用的例子在这个环节在这里从一个目录复制HDFS内容在HDFS另一个目录。复制文件是可行的,但是与仅将文件复制到目标目录相比,它在目标中创建了一个新的子目录。例:

  Path source=new Path("hdfs://HANameService/sources/hpm_support/apc_code/");
  Path target=new Path("hdfs://HANameService/staging/hpm_support/apc_code/");
  FileSystem fs = source.getFileSystem(conf); 
  FileUtil.copy(fs, source, fs, target, true, conf);`
Run Code Online (Sandbox Code Playgroud)

因此,hdfs://HANameService/staging/hpm_support/apc_code与其将文件复制到该文件,而是在apc_code下创建一个新目录,该文件最终显示在hdfs://HANameService/staging/hpm_support/apc_code/apc_code如何获取而不创建该子目录的位置?

java hadoop hdfs

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

从SSIS 2012中的脚本组件中的PipelineBuffer获取列名

我试图在我的脚本组件转换中从PipelineBuffer获取列名和索引是SSIS并将它们添加到Hashtable.我知道如果我将我的类public class ScriptMain : UserComponent改为:ScriptMain : PipelineComponent并使用此代码,这是可能的:

public override void ProcessInput(int InputID, Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer Buffer)
{
    inputBuffer = Buffer;
    hash = new Hashtable();
    IDTSInput100 i = ComponentMetaData.InputCollection.GetObjectByID(InputID);
    foreach (IDTSInputColumn100 col in i.InputColumnCollection)
    {
        int colIndex = BufferManager.FindColumnByLineageID(i.Buffer, col.LineageID);
        hash.Add(col.Name, colIndex);
    }
}
Run Code Online (Sandbox Code Playgroud)

然而; 当我这样做时,我不能再覆盖:public override void Input0_ProcessInputRow(Input0Buffer Row)因为这在PipelineComponent类中不可用,并且我不能再通过调用这样的东西来访问我的连接管理器:IDTSConnectionManager100 connMgr = this.Connections.DbConnection;从我所看到的,UserComponent类中没有BufferManager.有没有办法使用UserComponent完成此任务?

c# ssis script-component

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