代码之家  ›  专栏  ›  技术社区  ›  Dhiraj

将外部表中的数据引入ADX

  •  1
  • Dhiraj  · 技术社区  · 2 年前

    假设我已经为其他目的创建了一个ADL类型的外部表,但现在我还想将外部表指向的数据摄入到一个本地Kusto表中。在ADX中有这样的命令吗?从逻辑上讲,这就像将外部表定义用于其他目的,而不是再次指定相同的端点信息。此外,如果有帮助的话,我想补充一点,这将是周期性的刷新(使本机表与外部表保持同步),基本上不是一次性的。

    这就是我的外部表定义的样子:-

    .create external table my_external_table
    (      
        col1:string,
        col2:string,
        col3:string
    ) 
    kind=adl
    partition by (myvirtualcol:string) 
    dataformat=orc
    (
      h@'abfss://<storage-end-point>;<MaskedAccessKey>'
    )
    

    我总能做到以下几点:-

    .set-or-replace async my_native_table <| external_table('my_external_table')
    

    但我想知道,除了这种明显的方法之外,是否还有其他特殊的方法来处理这种情况?

    1 回复  |  直到 2 年前
        1
  •  1
  •   Yoni L.    2 年前

    如果 外部表中的数据量足够小(例如,最多几GB)-您可以使用 .set-or-append

    例如:

    .set-or-append MyTable <|
        external_table('MyExternalTable')
    

    否则 ,最好:

    1. 对现有文件进行排队,以便从容器中获取(例如,使用以下工具 LightIngest )
    2. 设置 data connection 用于将任何新写入的文件接收到容器
    推荐文章