我有一个很大的字典,我想遍历它来构建一个 pyarrow 表。字典的值是不同类型的元组,需要解包并存储在最终 pyarrow 表中的单独列中。我确实提前知道架构。键还需要存储为列。我在下面有一种方法可以逐行构建表格 - 还有另一种更快的方法吗?对于上下文,我想将一个大字典解析为一个 pyarrow 表以写出到镶木地板文件中。RAM 使用比 CPU 时间更重要。我不想下降到箭头 C++ API。
import pyarrow as pa
import random
import string
import time
large_dict = dict()
for i in range(int(1e6)):
large_dict[i] = (random.randint(0, 5), random.choice(string.ascii_letters))
schema = pa.schema({
"key" : pa.uint32(),
"col1" : pa.uint8(),
"col2" : pa.string()
})
start = time.time()
tables = []
for key, item in large_dict.items():
val1, val2 = item
tables.append(
pa.Table.from_pydict({
"key" : [key],
"col1" : [val1],
"col2" : [val2]
}, schema = schema)
) …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试安装Ramnath Vaidyanathan的rCharts包.在他的github存储库中,它建议我们使用以下命令安装包:
require(devtools)
install_github('rCharts', 'ramnathv')
Run Code Online (Sandbox Code Playgroud)
但是,我无法安装devtools包,因为它需要R 3.0.0.我在运行Ubuntu 12.10的服务器上运行R 2.15.2.更新到R 3.0.0不是一个选项,因为我还需要为R 3.0.0重建我需要的某些其他软件包.所以我无法使用install_github函数进行安装,因为我无法安装devtools.
然后我尝试从这里下载tarball 并使用R CMD INSTALL进行安装.但是,尝试通过以下方式安装:
R CMD INSTALL ramnathv-rCharts-b1061ab.tar.gz
Run Code Online (Sandbox Code Playgroud)
导致以下错误:
Error in untar2(tarfile, files, list, exdir) : unsupported entry type ‘g’
Run Code Online (Sandbox Code Playgroud)
我不确定尝试安装rCharts包的后续步骤.