当前位置: 首页 > 面试题库 >

在Windows上通过Powershell将数据加载到Clickhouse中时,为什么会出现换行错误?

淳于泓
2023-03-14
问题内容

我正在尝试将数据加载到Windowsdocker桌面内置的docker容器中的clickhouse中。我在R中准备了模拟数据,用csv编写,并在Clickhouse中创建了表(我省略了连接):

library(dplyr)
library(data.table)
library(clickhouse)
setwd("C:/Users/xxxx/Documents/testing_load")
my_df = data.table(datetime = as.character(c("2018-01-01 11:21:00", "2019-01-01 11:45:00")))
c(2018, 2019) %>%
  lapply(function(y) {
    print(y)
    fwrite(my_df[substr(datetime,1,4) == y],
              paste("test_",y,".csv"),
              row.names = F,
              col.names = F
           )
  })


dbSendQuery(con,
            paste(
              "CREATE TABLE test(
              datetime DateTime

              ) ENGINE = Log;"
            )
)

我试图加载的数据非常庞大,所以这只是一个示例,以显示
设置以及为什么我在第一行出现错误。我想像这样在
Powershell中使用Clickhouse客户端访问Docker容器来加载数据:

#loop through files and load
$files = Get-ChildItem "C:\Users\xxxx\Documents\testing_load"

foreach ($f in $files){
    $outfile = $f.FullName | Write-Host
    Import-Csv –Delimiter "," $f.FullName | Write-Host
    Get-Date | Write-Host    
    "Start loading" + $f.FullName | Write-Host
    docker run -it --rm --link chanalytics:clickhouse-server yandex/clickhouse-client --host clickhouse-server clickhouse-client --query="INSERT INTO test FORMAT CSV"
     Get-Date | Write-Host 
    "End loading" + $f.FullName | Write-Host
}

我还添加了读取数据以防万一,但是我从Clickhouse收到有关日期时间的错误消息。我试过在R中切换到positxc,这没有什么区别。我不能说,但感觉这是我不了解的非常简单的事情。以下是我得到的错误:

打开excel我可以看到datetime格式正确。任何关于什么的建议可能是怎么回事?


问题答案:

I was able to solve the issue:

#loop through files
$files = Get-ChildItem "C:\Users\xxxx\Documents\testing_load"

foreach ($f in $files){
    $outfile = $f.FullName | Write-Host
    Get-Date | Write-Host    
    "Start loading" + $f.FullName | Write-Host
    cat $f.FullName | docker run -i --rm --link chanalytics:clickhouse-client yandex/clickhouse-client -m --host chanalytics --query="INSERT INTO tpep FORMAT CSV"
     Get-Date | Write-Host 
    "End loading" + $f.FullName | Write-Host
}


 类似资料:
  • 问题内容: JDBC有问题。 我有以下代码: 我收到以下错误: 我的连接字符串是 jdbc:oracle:oci:@..... Oracle版本为11g。 从错误消息看来,似乎缺少了一些东西,但是: 当我从同一个blob列(带有blob.getBytes)读取时,一切正常。 即时客户端的DLL位于库路径中(正确)。 这是我的类路径中Oracle JDBC JAR的清单: 问题答案: 看起来即使驱动

  • 我已经调整了控制器构造函数和fxml,所以除了fxml构造和fxml加载之外,控制器的所有fxml设置都在fxml中。这里是我的控制器:

  • 问题内容: 我已经调整了控制器的构造函数和fxml,以便将控制器的fxml的所有设置都放在fxml中,除了FXML的构造和fxml的加载。这是我的控制器: 和我的fxml文件: 当调用fxmlLoader.load()并返回FXMLLoader时会发生stackoverflow fxmlLoader = new FXMLLoader(…),然后再次调用fxmlLoader.load()…为什么会发

  • 在TeamCity中运行MSpec构建步骤时,我在TeamCity日志中发现以下错误: 我已经对和MSpec config文件,但它似乎没有帮助。 MSpec运行程序正在本地引用构建代理上的编译DLL,该构建代理在Visual Studio中本地正确运行。有人能解释这个错误的含义以及我如何解决它吗?

  • 错误:第 1 行的解析错误:函数搜索(sour ^ 期望“字符串”、“数字”、“空”、“真”、“假”、“{”、“[”,得到“未定义” 代码:

  • 我创建了一个avro配置单元表,并使用配置单元插入覆盖命令将数据从另一个表加载到avro表中。我可以在avro配置单元表中看到数据,但当我尝试将其加载到bigQuery表中时,会出现错误。表架构:- 我收到的错误:- 我使用以下命令将数据加载到bigquery中:-