我是Docker的新手,并试图通过本教程从Docker镜像设置MemSQL - http://docs.memsql.com/4.0/setup/docker/.我在Mac上,教程使用boot2docker似乎已被弃用.
VM需要4GB内存才能运行.本教程指定了如何执行此操作,boot2docker但我找不到使用docker-machine/docker工具箱执行此操作的方法.
这是我正在使用的命令和错误我只是试图通过教程而不改变boot2docker配置.
docker run --rm --net=host memsql/quickstart check-system
Error: MemSQL requires at least 4 GB of memory to run.
Run Code Online (Sandbox Code Playgroud) 题
我无法根据其他两列中的值来确定如何创建新的DataFrame列.我需要使用if/elif/else逻辑.但我发现的所有文档和示例只显示if/else逻辑.这是我想要做的一个示例:
码
df['combo'] = 'mobile' if (df['mobile'] == 'mobile') elif (df['tablet'] =='tablet') 'tablet' else 'other')
Run Code Online (Sandbox Code Playgroud)
我也愿意使用where().只是找不到合适的语法.
我有一个结构图,我通过将数据流传输到Go程序来填充.地图更新的方式与下面的示例类似.
一旦我填充了这个结构图,那么通过count结构中字段的值对这个地图进行排序的最佳(或好)方法是什么?
package main
type data struct {
count int64
}
func main() {
m := make(map[string]data)
m["x"] = data{0, 0}
if xx, ok := m["x"]; ok {
xx.count = 2
m["x"] = xx
} else {
panic("X isn't in the map")
}
}
Run Code Online (Sandbox Code Playgroud)
这个例子可以在这里运行:http://play.golang.org/p/OawL6QIXuO
使用Spark 1.4.0,我试图使用insertIntoJdbc()将数据从Spark DataFrame插入到MemSQL数据库中(应该与MySQL数据库交互).但是我一直得到Runtime TableAlreadyExists异常.
首先,我创建这样的MemSQL表:
CREATE TABLE IF NOT EXISTS table1 (id INT AUTO_INCREMENT PRIMARY KEY, val INT);
Run Code Online (Sandbox Code Playgroud)
然后我在Spark中创建一个简单的数据框,并尝试像这样插入到MemSQL中:
val df = sc.parallelize(Array(123,234)).toDF.toDF("val")
//df: org.apache.spark.sql.DataFrame = [val: int]
df.insertIntoJDBC("jdbc:mysql://172.17.01:3306/test?user=root", "table1", false)
java.lang.RuntimeException: Table table1 already exists.
Run Code Online (Sandbox Code Playgroud) 我想使用SED从文件中删除所有"^ A"控制字符.我可以使用'sed s/[[:cntrl:]] // g'删除所有控制字符但是如何具体指定"^ A"?
我正在将文本文件导入pandas,并希望连接文件中的3个列以生成索引.
我愿意在一个或多个步骤中这样做.我可以在创建DataFrame的同时进行转换,或者我可以创建DataFrame并使用新创建的列重新构建它.知道如何以这两种方式做到这一点对我来说是最有帮助的.
我最终希望索引是连接前3列中的值的值.
使用matplotlib和iPython,我有一堆我想要查看的图(一个接一个).某些图仅包含0到1的值,有些包含数百万的值.
使用以下方法设置y轴限制后:
ylim((.7,1))
Run Code Online (Sandbox Code Playgroud)
我希望能够重置此设置以自动设置限制(就像之前所做的那样).我找不到正确的方法.
我正在尝试通过 AWK 程序将数据流式传输到 Postgres COPY 命令。这通常很好用。但是,在我最近的数据中,我收到了包含 '\.' 的长文本字符串。值。
Postgres 文档提到这种字符组合表示数据结束标记,http://www.postgresql.org/docs/9.2/static/sql-copy.html,我在尝试插入时遇到相关错误复制。
我的问题是,有没有办法关闭它?也许将数据结束标记更改为不同的字符组合?或者我是否必须在尝试使用 COPY 命令插入之前更改/删除这些字符串?
使用 Pandas,我有一个如下所示的 DataFrame:
Hour Browser Metric1 Metric2 Metric3
2013-08-18 00 IE 1000 500 3000
2013-08-19 00 FF 2000 250 6000
2013-08-20 00 Opera 3000 450 9000
2001-03-21 00 Chrome/29 3000 450 9000
2013-08-21 00 Chrome/29 3000 450 9000
2014-01-22 00 Chrome/29 3000 750 9000
Run Code Online (Sandbox Code Playgroud)
我想创建一个浏览器数组,其最大值为 Metric1 > 2000。有没有最好的方法来做到这一点?你基本上可以看到我试图用下面的代码做什么。
browsers = df[df.Metric1.max() > 2000]['Browser'].unique()
Run Code Online (Sandbox Code Playgroud) 在Yarn和EMR上运行Spark 1.3.1.当我运行spark-shell时,一切看起来都很正常,直到我开始看到这样的消息INFO yarn.Client: Application report for application_1439330624449_1561 (state: ACCEPTED).这些消息是无休止地生成的,每秒一次.同时,我无法使用Spark shell.
我不明白为什么会这样.
python ×4
pandas ×3
apache-spark ×2
singlestore ×2
awk ×1
docker ×1
emr ×1
go ×1
hadoop ×1
hadoop-yarn ×1
ipython ×1
macos ×1
map ×1
matplotlib ×1
mysql ×1
postgresql ×1
regex ×1
sed ×1
sorting ×1
sql ×1
struct ×1
unix ×1
virtualbox ×1