我有一个 Parquet 文件/文件夹(大约 1GB),我想将其加载到我的本地 Cassandra DB 中。不幸的是,我找不到任何方法(除了通过 SPARK(在 Scala 中))直接将此文件加载到 CDB 中。如果我将 Parquet 文件吹成 CSV,它对于我的笔记本电脑来说会变得太大。
我正在为一个大数据分析案例设置一个 Cassandra DB(我有大约 25TB 的原始数据,我们需要快速搜索)。现在,我正在运行一些本地测试,了解如何在迁移到超大规模器上的 Cassandra 即服务之前优化设计键空间、索引和表。将数据转换为 CSV 不是一种选择,因为这会爆炸太多。
COPY firmographics.company (col1,col2,col3.....) FROM 'C:\Users\Public\Downloads\companies.csv' WITH DELIMITER='\t' AND HEADER=TRUE;
最佳答案
原来,就像 Alex Ott说,在 SPARK 中编写它很容易。在我的代码下面:
import findspark
from pyspark.sql import SparkSession
findspark.init()
spark = SparkSession\
.builder\
.appName("Spark Exploration App")\
.config('spark.jars.packages', 'com.datastax.spark:spark-cassandra-connector_2.11:2.3.2')\
.getOrCreate()
import pandas as pd
df = spark.read.parquet("/PATH/TO/FILE/")
import time
start = time.time()
df2.drop('filename').write\
.format("org.apache.spark.sql.cassandra")\
.mode('append')\
.options(table="few_com", keyspace="bmbr")\
.save()
end = time.time()
print(end - start)
关于csv - 有没有一种简单的方法可以将 Parquet 文件直接加载到 Cassandra 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58709751/