【问题标题】:How To Completely DETACH a table from Clickhouse如何从 Clickhouse 中完全分离表格
【发布时间】:2019-12-25 16:02:07
【问题描述】:

我是新的 clickhouse,所以任何帮助都将不胜感激,我有一张 Ontime 桌子。从here导入

表的架构

CREATE TABLE default.ontime ( Year UInt17,  Quarter UInt8,  Month UInt8,  DayofMonth UInt8,  DayOfWeek UInt8,  FlightDate Date,  UniqueCarrier FixedString(7),  AirlineID Int32,  Carrier FixedString(2),
  TailNum String,  FlightNum String,  OriginAirportID Int32,  OriginAirportSeqID Int32,  OriginCityMarketID Int32,  Origin FixedString(5),  OriginCityName String,  OriginState FixedString(2),  OriginStateFips 
  String,  OriginStateName String,  OriginWac Int32,  DestAirportID Int32,  DestAirportSeqID Int32,  DestCityMarketID Int32,  Dest FixedString(5),  DestCityName String,  DestState FixedString(2),  
  DestStateFips String,  DestStateName String,  DestWac Int32,  CRSDepTime Int32,  DepTime Int32,  DepDelay Int32,  DepDelayMinutes Int32,  DepDel15 Int32,  DepartureDelayGroups String,  DepTimeBlk String,  TaxiOut 
  Int32,  WheelsOff Int32,  WheelsOn Int32,  TaxiIn Int32,  CRSArrTime Int32,  ArrTime Int32,  ArrDelay Int32,  ArrDelayMinutes Int32,  ArrDel15 Int32,  ArrivalDelayGroups Int32,  ArrTimeBlk String,  Cancelled 
  UInt8,  CancellationCode FixedString(1),  Diverted UInt8,  CRSElapsedTime Int32,  ActualElapsedTime Int32,  AirTime Int32,  Flights Int32,  Distance Int32,  DistanceGroup UInt8,  CarrierDelay Int32,  WeatherDelay 
  Int32,  NASDelay Int32,  SecurityDelay Int32,  LateAircraftDelay Int32,  FirstDepTime String,  TotalAddGTime String,  LongestAddGTime String,  DivAirportLandings String,  DivReachedDest String,  
  DivActualElapsedTime String,  DivArrDelay String,  DivDistance String,  Div1Airport String,  Div1AirportID Int32,  Div1AirportSeqID Int32,  Div1WheelsOn String,  Div1TotalGTime String,  Div1LongestGTime String,  
  Div1WheelsOff String,  Div1TailNum String,  Div2Airport String,  Div2AirportID Int32,  Div2AirportSeqID Int32,  Div2WheelsOn String,  Div2TotalGTime String,  Div2LongestGTime String,  Div2WheelsOff String,  
  Div2TailNum String,  Div3Airport String,  Div3AirportID Int32,  Div3AirportSeqID Int32,  Div3WheelsOn String,  Div3TotalGTime String,  Div3LongestGTime String,  Div3WheelsOff String,  Div3TailNum String,  
  Div4Airport String,  Div4AirportID Int32,  Div4AirportSeqID Int32,  Div4WheelsOn String,  Div4TotalGTime 
  String,  Div4LongestGTime String,  Div4WheelsOff String,  Div4TailNum String,  Div5Airport String,  
  Div5AirportID Int32,  Div5AirportSeqID Int32,  Div5WheelsOn String,  Div5TotalGTime String,  
  Div5LongestGTime String,  Div5WheelsOff String,  Div5TailNum String)
   ENGINE = MergeTree(FlightDate, (Year, FlightDate), 8192)

有几百万的记录。 我想要做的是拍摄表格的快照,在 UNATTACH 之后我想从快照中恢复表格

创建快照

clickhouse-client --query="SELECT * FROM ontime FORMAT csv" > ontime.csv

以 CSV 格式备份 13272488 条记录 ==> TIME Taken 1 Mint 12 seconds 备份大小 5 GB

// Saving the meta data 
clickhouse-client --query="SHOW CREATE TABLE ontime" --format=TabSeparatedRaw > ontime_meta.sql

现在删除这个表,因为我提到了官方文档的Here

命令是ALTER TABLE table_name DROP PARTITION partition_expr

我尝试了这些变体,但没有任何效果。

    ALTER TABLE ontime  DETACH PARTITION (Year, FlightDate);
    ALTER TABLE ontime  DETACH PARTITION FlightDate;
    ALTER TABLE ontime  DETACH PARTITION 8192;
    ALTER TABLE ontime DETACH PARTITION (FlightDate, (Year, FlightDate), 8192)

所以我的问题是如何指定分区表达式?

【问题讨论】:

    标签: database nosql clickhouse


    【解决方案1】:

    要删除表中的所有数据,您可以使用TRUNCATE TABLE 语句或只执行一次DROP TABLECREATE TABLE ...

    【讨论】:

      猜你喜欢
      • 2012-04-18
      • 2011-08-06
      • 1970-01-01
      • 2020-07-20
      • 1970-01-01
      • 2020-07-07
      • 2015-04-01
      • 2014-01-19
      相关资源
      最近更新 更多