在本地运行Kusto服务器
我喜欢Kusto (或商用版本 Azure Data Explorer,简称 ADX) 是大家可以有目共睹的,之前还专门写过这方面的书籍,请参考 大数据分析新玩法之Kusto宝典, 很可能在今年还会推出第二季,正在酝酿题材和场景中。
为了使用Kusto,你既可以购买正式的服务(Azure Data Explorer)用于生产环境,也可以注册免费版https://aka.ms/kustofree来做研究和试验。而今天我要给大家介绍的是,你还可以在本地运行自己的Kusto服务器(官方叫法是模拟器)呢。
请注意,模拟器是没有技术支持的,建议不要用于生产环境啊。
你可以通过 https://learn.microsoft.com/en-us/azure/data-explorer/kusto-emulator-overview 这个文档了解详细信息,但我这里给大家一个实操的步骤,避免大家走弯路。
我推荐使用linux 的容器来做,而不是Windows,而且我当然推荐大家在启动容器的时候,把本地的磁盘mount上去,这样你自己创建的数据库,就可以在下次启动容器时还原回来。下面着重讲解几个关键步骤。
1. 启动容器
docker run -v /mnt/c/kustodata:/kustodata -e ACCEPT_EULA=Y -m 4G -d -p 8080:8080 -t mcr.microsoft.com/azuredataexplorer/kustainer-linux:latest
我用的是ubuntu服务器,通过WSL来启动的,所以你可以看到/mnt/c/kustodata 这个目录,其实是我的宿主机Windows上面C 盘下面的一个目录,然后我们映射到容器里的 /kustodata这个目录。
2. 使用Kusto Explorer 来连接
这里的关键是,本地服务器只支持 http 协议,而且不需要身份验证(请用自己的方式来保证安全性),所以你在连接时的连接字符串应该是下面这样的。

3. 创建数据库
这个没有特别的,你可以用下面的语法来创建数据库。
.create database test persist (
@"/kustodata/test/md",
@"/kustodata/test/data"
)
这个查询是在容器里面执行的,所以这里的路径也应该是容器里面的路径,这也就是为什么我们此前要映射目录的原因了。
一旦创建数据库,你就可以正常地进行数据方面的操作了,例如创建表格,导入数据等。
# 创建表格
.create table test(id:int,name:string)
# 导入数据,按行导入
.ingest inline into table test <|
1,'ares'
# 导入数据,从文件导入
.ingest into table test(@'/kustodata/data.csv') with(format ='csv', ignoreFirstRecord =true)
4. 关闭服务器
既然是本地服务器,你就可以完全控制它,按照你的需求可以随时关闭它。因为它是容器启动的,所以要关闭它也很简单,通常用一句命令即可。
# xxxx 是容器编号,一般取前4位即可。通过 docker ps 可以看到当前正在运行的容器,以及他们的编号
docker stop xxxx
5. 重启后还原数据库
最后一个关键步骤是,如何重启后还原数据库。因为容器如果关闭的话,数据会全部丢失,为了确保你的数据在下次启动时还在,你必须把它映射到外部宿主环境的一个目录来。
此处你可以用到一个未公开的命令。
.attach database test from @'/kustodata/test/md'
希望对大家有所帮助,欢迎反馈和交流。
在本地运行Kusto服务器的更多相关文章
- Tomcat 本地运行正常,服务器部署后乱码问题
Tomcat 在本地运行项目没啥问题,可是部署到服务器后就会发现有乱码的问题,这问题还是一半一半的,有些有,有些没有,这不是接收数据的时候会出现的乱码,是后台管理的页面中文乱码,我也是醉了, 把解决方 ...
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
js replace 全局替换 js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换. <scrip ...
- Spring Boot 项目本地运行无异常,部署到 Linux 服务器运行报错:java.lang.ClassNotFoundException
一 背景 最近在用 Springboot 开发项目 A,引了小伙伴开发的模块 B,本地起服务,运行的好好的,等部署到服务器上,一运行就报错:Caused by: java.lang.ClassNotF ...
- 使用ownCloud搭建你的个人云服务(ubuntu 14.04 server)(ownCloud对文件不切片,Seafile对文件切片),owncloud没有存储的功能 只能同步 本地删除了服务器也会删除
ownCloud是什么 ownCloud是一个自由且开源的个人云存储解决方案(类似百度网盘或者Dropbox),包括两个部分:服务器和客户端. ownCloud在客户端可通过网页界面,或者安装专用的客 ...
- 外网如何访问本地tomcat web服务器【转】
转自:http://jingpin.jikexueyuan.com/article/49159.html 外网如何访问本地tomcat web服务器 作者: XHKJOE 发布时间:2015-07-1 ...
- 搭建本地Ubuntu 镜像服务器
一.需求分析 最近公司软件Team 有个需求是这样的:能不能在局域网搭建一个Ubuntu 镜像服务器, 这样作的好处是可以节省Ubuntu某些常用工具的安装时间. 二.部署过程 2.1 测试环境 目前 ...
- windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境)
推荐几款一键快速搭建PHP本地运行环境的好工具(含php7.0及apache,nigix,mysql) 首推phpstudy2016和wampServer3.0.6 理由支持php7.0 目前 ...
- 快速搭建一个本地的FTP服务器
快速搭建一个本地的FTP服务器 如果需要开发FTP文件上传下载功能,那么需要在本机上搭建一个本地FTP服务器,方便调试. 第一步:配置IIS Web服务器 1.1 控制面板中找到"程序& ...
- 开发函数计算的正确姿势 —— 使用 Fun Local 本地运行与调试
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算 ...
- java 在web应用中获取本地目录和服务器上的目录不一致的问题
先来讲讲我所遇到的问题.最近有个新的项目添加新的功能. 修改之后部署到服务器上面发现取到classpath目录跑到别的地方去了.在本地测试却正常. 当时毛的着火了.硬是想不懂什么问题. 终于发现了这个 ...
随机推荐
- JSPModel
JSPModel what JSP开发模型就是JSP Model,是用JSP语言写的 why 为了更好地使用jsp技术开发 How JSPModel1 Why 因为在jsp开发中,包含了数据处理/业务 ...
- 聊聊Mybatis的实现原理
使用示例 平时我们使用的一般是集成了Spring或是Spring Boot的Mybatis,封装了一层,看源码不直接:如下,看看原生的Mybatis使用示例 示例解析 通过代码可以清晰地看出,MyBa ...
- 一天吃透Spring面试八股文
内容摘自我的学习网站:topjavaer.cn Spring是一个轻量级的开源开发框架,主要用于管理 Java 应用程序中的组件和对象,并提供各种服务,如事务管理.安全控制.面向切面编程和远程访问等. ...
- 为什么 Biopython 的在线 BLAST 这么慢?
用过网页版本 BLAST 的童鞋都会发现,提交的序列比对往往在几分钟,甚至几十秒就可以得到比对的结果:而通过调用 API 却要花费几十分钟或者更长的时间!这到底是为什么呢? NCBIWWW 基本用法 ...
- 浙大Jarvisoj [XMAN]level6 Writeup
分析代码 初始化 0x0804A2EC:保存malloc(0xC10)返回的指针 malloc(0xC10) 0 1 ... ... value note 总数:256 已使用 note 数 0 一. ...
- C# .NET CORE .NET6 RSA 公钥加密 私钥解密
环境说明: .NET CORE 版本:.NET 6 . .NET CORE 对于RSA的支持: 1. .NET 6 中内置了对 PKCS1,PKCS8 2种私钥格式的支持. 2. 如果你要部署在Lin ...
- 洛谷 P4859 已经没有什么好害怕的了
题目描述 学姐 4 了. 有 \(n\) 个糖果和 \(n\) 个药片,它们要进行一一配对.每个糖果或药片都具有互不相同的能量值,要求配对后,糖果比药片能量高的对数,比剩下的对数恰好多 \(k\),求 ...
- 常见的Web安全攻击类型及其应对方法
目录 1. 引言 2. 技术原理及概念 3. 实现步骤与流程 4. 应用示例与代码实现讲解 5. 优化与改进 6. 结论与展望 7. 附录:常见问题与解答 常见的Web安全攻击类型及其应对方法 随着网 ...
- Java 数组及数组的优点与缺点
1.java中的数组是一种引用数据类型.不属于基本数据类型.数组的父类是Object. 2.数组实际上是一个容器,可以同时容纳多个元素.(数组相当于是一个数据的集合.) 数组的字面意思是"一 ...
- 国标GB28181协议客户端开发(三)查询和实时视频画面
国标GB28181协议客户端开发(三)查询和实时视频画面 本文是<国标GB28181协议设备端开发>系列的第三篇,探讨了信息查询和实时视频在GB28181协议中的应用.首先,介绍了设备目录 ...