在本地运行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目录跑到别的地方去了.在本地测试却正常. 当时毛的着火了.硬是想不懂什么问题. 终于发现了这个 ...
随机推荐
- Prompt Engineering优化原则 - 以Webshell代码解释为例
一.LLM prompt优化原则 本文围绕"PHP代码解释"这一任务,讨论LLM prompt优化原则. 代码样例如下: <?php echo "a5a5aa555 ...
- [MAUI程序设计] 用Handler实现自定义跨平台控件
@ 目录 Handler 与Xamarin.Forms实现的区别 为什么要用Handler代替Renderer 解耦 生命周期管理 更细粒度的控制 用Effect来实现呢? 自定义手势监听控件 在各平 ...
- Docker 的安装及常用命令
CentOS Docker 安装 参看链接 Windows安装 Docker Desktop 官方下载地址: https://hub.docker.com/editions/community/doc ...
- 用 Python 帮运营妹纸快速搞定 Excel 文档
Microsoft Office 被广泛用于商务和运营分析中, 其中 Excel 尤其受欢迎.Excel 可以用于存储表格数据.创建报告.图形趋势等.在深入研究用 Python 处理 Excel 文档 ...
- 搭建私人GPT及域名配置
前几天在掘金看到一个搭建私人ChatGPT的教程,看起来并不难. 我也有OpenAI的API Key,然后前阵子我看到我的账号余额还有很多,我的api key其实就一个机器人在用,没用多少. 还有,就 ...
- 你的专属音乐生成器「GitHub 热点速览」
如果你制作视频,一定会碰到配乐的问题.虽然网上找的一些免费配乐能勉强满足需求,但是如果有个专属的配乐生成器,根据你的视频画面生成对应配乐是不是不错呢?audiocraft 也许能帮助你,把相关画面用文 ...
- 带你彻底掌握Bean的生命周期
摘要:我们将深入研究Spring Framework的核心部分--Spring Bean的生命周期. 本文分享自华为云社区<Spring高手之路5--彻底掌握Bean的生命周期>,作者: ...
- 老生常谈:值类型 V.S. 引用类型
我在面试的时候经常会问一个问题:"谈谈值类型和引用的区别".对于这个问题,绝大部分人都只会给我两个简洁的答案:"值类型分配在栈中,引用类型分配在堆中",&quo ...
- PostgreSQL 12 文档: 部分 VIII. 附录
部分 VIII. 附录 目录 A. PostgreSQL错误代码 B. 日期/时间支持 B.1. 日期/时间输入解释 B.2. 处理无效或不明确的时间戳 B.3. 日期/时间关键词 B.4. 日期/时 ...
- JVM之指针压缩
做java开发的同学一般都比较熟悉JVM,那么关于指针压缩这块内容是不是也了解呢,不熟悉的小伙伴往下看吧. 首先说明,本文涉及的JDK版本是1.8,JVM虚拟机是64位的HotSpot实现为准. ja ...