[数据挖掘、数据分析] clickhouse在go语言里的实践
package main
import (
"fmt"
"github.com/ClickHouse/clickhouse-go"
"log"
)
func main() {
// 连接ClickHouse数据库
conn, err := clickhouse.Open(&clickhouse.Options{
Addr: []string{"localhost:8123"},
Auth: clickhouse.Auth{
Database: "your_database",
Username: "default",
Password: "",
},
Settings: clickhouse.Settings{
"max_execution_time": 60,
},
DialTimeout: 5 * time.Second,
Compression: &clickhouse.Compression{
Method: clickhouse.CompressionLZ4,
},
// 其他配置...
})
if err != nil {
log.Fatal(err)
}
defer conn.Close()
// 查询数据
var result []YourResultType
if err := conn.Select(&result, "SELECT number, name FROM your_table LIMIT 10"); err != nil {
log.Fatal(err)
}
// 打印结果
for _, row := range result {
fmt.Printf("Number: %d, Name: %s\n", row.Number, row.Name)
}
}
在这个示例中,我们首先导入了必要的包,然后定义了一个main
函数,在其中我们创建了一个指向ClickHouse数据库的连接,并执行了一个简单的查询。我们假设查询返回的结果是YourResultType
类型的切片,并打印出查询结果。这个示例展示了如何在Go语言中使用clickhouse-go包来连接和查询ClickHouse数据库。
评论已关闭