我正在用bash编写安装程序.用户将转到目标目录并运行安装脚本,因此第一个操作应该是检查是否有足够的空间.我知道df会报告所有文件系统,但我想知道是否有办法获得目标目录所在分区的可用空间.
编辑 - 我想出的答案
df $PWD | awk '/[0-9]%/{print $(NF-2)}'
Run Code Online (Sandbox Code Playgroud)
有点奇怪,因为df似乎将其输出格式化为适合终端,所以使用长安装点名称输出向下移动一行
假设我有一个这样的表:
subject | flag
----------------+------
this is a test | 2
Run Code Online (Sandbox Code Playgroud)
subject
属于类型text
,flag
属于类型int
.我想在Postgres中将此表转换为类似的内容:
token | flag
----------------+------
this | 2
is | 2
a | 2
test | 2
Run Code Online (Sandbox Code Playgroud)
是否有捷径可寻?
我想使用Pandas df.apply
但仅限于某些行
作为一个例子,我想做这样的事情,但我的实际问题有点复杂:
import pandas as pd
import math
z = pd.DataFrame({'a':[4.0,5.0,6.0,7.0,8.0],'b':[6.0,0,5.0,0,1.0]})
z.where(z['b'] != 0, z['a'] / z['b'].apply(lambda l: math.log(l)), 0)
Run Code Online (Sandbox Code Playgroud)
在这个例子中我想要的是'a'中的值除以每行中'b'中值的对数,对于'b'为0的行,我只想返回0.
我正在尝试使用SQLAlchemy模块在python中编写批量upsert(而不是在SQL中!).
我在SQLAlchemy添加上收到以下错误:
sqlalchemy.exc.IntegrityError: (IntegrityError) duplicate key value violates unique constraint "posts_pkey"
DETAIL: Key (id)=(TEST1234) already exists.
Run Code Online (Sandbox Code Playgroud)
我有一个posts
在id
列上使用主键调用的表.
在这个例子中,我已经在db中有一行id=TEST1234
.当我尝试db.session.add()
使用id
设置为的新帖子对象时TEST1234
,我得到上面的错误.我的印象是,如果主键已经存在,记录将会更新.
如何仅使用基于主键的Flask-SQLAlchemy进行升级?有简单的解决方案吗?
如果没有,我总是可以检查并删除任何匹配id的记录,然后插入新记录,但这对我的情况来说似乎很昂贵,我不希望有很多更新.
如何将C编译模块(例如,python-Levenshtein)发送到Spark集群中的每个节点?
我知道我可以使用独立的Python脚本在Spark中发布Python文件(下面的示例代码):
from pyspark import SparkContext
sc = SparkContext("local", "App Name", pyFiles=['MyFile.py', 'MyOtherFile.py'])
Run Code Online (Sandbox Code Playgroud)
但是在没有".py"的情况下,我该如何运送模块?
我有一个python算法,它返回给定用户的数据库行的排名顺序.此算法输出主键ID列表(这些键可以与post.id连接).它看起来像下面,除了可能有数千个匹配:
result_rank = [1286, 1956, 6759, 3485, 2309, 3409, 9023, 912, 13098, 23489, 19023, 1239]
Run Code Online (Sandbox Code Playgroud)
我想指示sqlalchemy选择这些行,并按照它们在列表中的排序顺序排序.问题是,我想对此进行分页
results = posts.query().filter(posts.id.in_(
resultIds)).order_by(??? how can I order by post.id = result_rank ???).paginate(page_num, posts_per_page)
Run Code Online (Sandbox Code Playgroud)
我使用Postgresql作为数据库.
我有一个rdd(我们可以称之为myrdd),其中rdd中的每个记录都是以下形式:
[('column 1',value), ('column 2',value), ('column 3',value), ... , ('column 100',value)]
Run Code Online (Sandbox Code Playgroud)
我想将它转换为pyspark中的DataFrame - 最简单的方法是什么?
我正在创建一个python模块,其中包含一个显示pandas DataFrame(my_df
)的函数.
如果用户将模块导入Jupyter笔记本,我想通过使用以下内容为DataFrame提供"漂亮"的格式:
from IPython.display import display, HTML
display(my_df)
Run Code Online (Sandbox Code Playgroud)
如果用户不在Jupyter笔记本中,我想显示DataFrame的文本格式:
print(my_df)
Run Code Online (Sandbox Code Playgroud)
如何检查代码是否从Jupyter笔记本运行?或者,如何从命令行以文本形式显示DataFrame,如果将HTML表单导入Jupyter笔记本,则显示HTML表单?
from IPython.display import display, HTML
def my_func(my_df):
if [... code to check for Jupyter notebook here ...]:
display(my_df)
else:
print(my_df)
Run Code Online (Sandbox Code Playgroud) 我在hdfs中有一个文件,它分布在集群中的节点上.
我正试图从这个文件中随机抽取10行.
在pyspark shell中,我使用以下命令将文件读入RDD:
>>> textFile = sc.textFile("/user/data/myfiles/*")
Run Code Online (Sandbox Code Playgroud)
然后我想简单地拿一个样本......关于Spark的一个很酷的事情是有类似的命令takeSample
,不幸的是我认为我做错了,因为以下需要很长时间:
>>> textFile.takeSample(False, 10, 12345)
Run Code Online (Sandbox Code Playgroud)
所以我尝试在每个节点上创建一个分区,然后使用以下命令指示每个节点对该分区进行采样:
>>> textFile.partitionBy(4).mapPartitions(lambda blockOfLines: blockOfLines.takeSample(False, 10, 1234)).first()
Run Code Online (Sandbox Code Playgroud)
但这会给出一个错误ValueError: too many values to unpack
:
org.apache.spark.api.python.PythonException: Traceback (most recent call last):
File "/opt/cloudera/parcels/CDH-5.0.2-1.cdh5.0.2.p0.13/lib/spark/python/pyspark/worker.py", line 77, in main
serializer.dump_stream(func(split_index, iterator), outfile)
File "/opt/cloudera/parcels/CDH-5.0.2-1.cdh5.0.2.p0.13/lib/spark/python/pyspark/serializers.py", line 117, in dump_stream
for obj in iterator:
File "/opt/cloudera/parcels/CDH-5.0.2-1.cdh5.0.2.p0.13/lib/spark/python/pyspark/rdd.py", line 821, in add_shuffle_key
for (k, v) in iterator:
ValueError: too many values to unpack
Run Code Online (Sandbox Code Playgroud)
如何使用spark或pyspark从大型分布式数据集中采样10行?
我有两个RandomForestClassifier模型,我想将它们组合成一个元模型.他们都使用类似但不同的数据进行培训.我怎样才能做到这一点?
rf1 #this is my first fitted RandomForestClassifier object, with 250 trees
rf2 #this is my second fitted RandomForestClassifier object, also with 250 trees
Run Code Online (Sandbox Code Playgroud)
我想创建big_rf
所有树木组合成一个500树模型
python ×6
apache-spark ×3
pandas ×2
postgresql ×2
sqlalchemy ×2
bash ×1
dataframe ×1
flask ×1
hadoop ×1
jupyter ×1
linux ×1
pagination ×1
pyspark ×1
python-2.7 ×1
scikit-learn ×1
split ×1
sql ×1