xxx
2017年10月30日星期一
mongodb启动问题
在配置中修改了dbPath,无法启动,需要将修改的dbPath的用户和组设置为mongodb:mongodb即可。
还有可能在日志里面发现socket permission的问题,删除/tmp/mongodb-27017.sock后再sudo service mongod start
还有可能在日志里面发现socket permission的问题,删除/tmp/mongodb-27017.sock后再sudo service mongod start
2017年10月29日星期日
npm install 速度慢
换为国内镜像:
npm install --registry=http://registry.npm.taobao.org
永久设置:
npm config set registry http://registry.npm.taobao.org
npm install --registry=http://registry.npm.taobao.org
永久设置:
npm config set registry http://registry.npm.taobao.org
ubuntu下E: Unable to locate package问题
刚安装了ubuntu 16.04系统,sudo apt install tmux时候遇到E: Unable to locate package tmux的问题,解决:
sudo apt-get update
sudo apt-get update
2017年10月27日星期五
tensorflow serving 运算特别慢
之前从源码编译的方式安装了tensorflow serving,但是部署到线上发现特别吃cpu,并且速度很慢。根据https://github.com/tensorflow/serving/issues/456,猜测应该是编译选项设置的问题。
后来换成了通过apt-get安装方式的二进制文件,问题解决。
后来换成了通过apt-get安装方式的二进制文件,问题解决。
spark 2.1.0 from_json使用中的问题
对于以下代码,spark2.2.0运行正常:
import json
from pyspark.sql import functions as f
from pyspark.sql.types import ArrayType, DoubleType, StringType, StructField, StructType
from pyspark.sql.functions import from_json
def func(value, score):
values = {}
for i in range(len(value)):
if value[i] in values:
values[value[i]] = values[value[i]] + score[i]
else:
values[value[i]] = score[i]
res = []
for k, v in values.items():
res.append({'value': k, 'score': v})
return json.dumps(res, ensure_ascii=False)
x = [{'user' : '86209203000295', 'domain' : 'music', 'subdomain' : 'artist', 'value' : 'xxx', 'score' : 0.8, 'ts' : '1508737410941'}, {'user' : '86209203000295', 'domain' : 'music', 'subdomain' : 'artist', 'value' : 'yyy', 'score' : 0.9, 'ts' : '1508737410941'}, {'user' : '86209203000685', 'domain' : 'music', 'subdomain' : 'artist', 'value' : 'zzz', 'score' : 0.8, 'ts' : '1508717416320'}]
df = spark.createDataFrame(x)
df = df.groupBy(df['user'], df['domain'], df['subdomain']).agg(f.collect_list(df['value']).alias('value'), f.collect_list(df['score']).alias('score'))
df = df.select(df['user'], df['domain'], df['subdomain'], f.UserDefinedFunction(func, StringType())(df['value'], df['score']).alias('values'))
df.collect()
schema = ArrayType(StructType([StructField('value', StringType()), StructField('score', DoubleType())]))
df = df.select(df['user'], df['domain'], df['subdomain'], from_json(df['values'], schema).alias('values'))
df.collect()
但是spark2.1.0运行报错:java.lang.ClassCastException: org.apache.spark.sql.types.ArrayType cannot be cast to org.apache.spark.sql.types.StructType
这个问题比较坑,2.1.0不支持ArrayType。
import json
from pyspark.sql import functions as f
from pyspark.sql.types import ArrayType, DoubleType, StringType, StructField, StructType
from pyspark.sql.functions import from_json
def func(value, score):
values = {}
for i in range(len(value)):
if value[i] in values:
values[value[i]] = values[value[i]] + score[i]
else:
values[value[i]] = score[i]
res = []
for k, v in values.items():
res.append({'value': k, 'score': v})
return json.dumps(res, ensure_ascii=False)
x = [{'user' : '86209203000295', 'domain' : 'music', 'subdomain' : 'artist', 'value' : 'xxx', 'score' : 0.8, 'ts' : '1508737410941'}, {'user' : '86209203000295', 'domain' : 'music', 'subdomain' : 'artist', 'value' : 'yyy', 'score' : 0.9, 'ts' : '1508737410941'}, {'user' : '86209203000685', 'domain' : 'music', 'subdomain' : 'artist', 'value' : 'zzz', 'score' : 0.8, 'ts' : '1508717416320'}]
df = spark.createDataFrame(x)
df = df.groupBy(df['user'], df['domain'], df['subdomain']).agg(f.collect_list(df['value']).alias('value'), f.collect_list(df['score']).alias('score'))
df = df.select(df['user'], df['domain'], df['subdomain'], f.UserDefinedFunction(func, StringType())(df['value'], df['score']).alias('values'))
df.collect()
schema = ArrayType(StructType([StructField('value', StringType()), StructField('score', DoubleType())]))
df = df.select(df['user'], df['domain'], df['subdomain'], from_json(df['values'], schema).alias('values'))
df.collect()
但是spark2.1.0运行报错:java.lang.ClassCastException: org.apache.spark.sql.types.ArrayType cannot be cast to org.apache.spark.sql.types.StructType
这个问题比较坑,2.1.0不支持ArrayType。
2017年10月13日星期五
intellij添加python包
File -> Project Sturcture... 中先看下左侧的Modules中有没有添加Python的module,没有则先添加python module。
然后再点左侧的Global Libraries,添加需要的python source包目录即可。
例如,我进行pyspark开发,将spark-2.2.0-bin-hadoop2.7/python添加到source中,这样项目中就可以跳转到pyspark的代码并且有代码提示了。
然后再点左侧的Global Libraries,添加需要的python source包目录即可。
例如,我进行pyspark开发,将spark-2.2.0-bin-hadoop2.7/python添加到source中,这样项目中就可以跳转到pyspark的代码并且有代码提示了。
订阅:
博文 (Atom)