我有一个包含300万行的cassandra表。现在我试图获取所有行并将它们写入几个csv文件。我知道这是不可能的 select * from mytable
。有人可以告诉我怎么做到这一点?
或者有没有办法读取行 n
行 n
没有指定任何行 where
条件?
我有一个包含300万行的cassandra表。现在我试图获取所有行并将它们写入几个csv文件。我知道这是不可能的 select * from mytable
。有人可以告诉我怎么做到这一点?
或者有没有办法读取行 n
行 n
没有指定任何行 where
条件?
据我所知,cassandra 2.0有一个改进 '在驾驶员方面' 是自动寻呼。你可以这样做:
Statement stmt = new SimpleStatement("SELECT * FROM images LIMIT 3000000");
stmt.setFetchSize(100);
ResultSet rs = session.execute(stmt);
// Iterate over the ResultSet here
你可以找到司机 这里。
您可以使用Pig读取数据并将其存储到HDFS中,然后将其作为单个文件复制出来:
在猪:
data = LOAD 'cql://your_ksp/your_table' USING CqlStorage();
STORE data INTO '/path/to/output' USING PigStorage(',');
从OS shell:
hadoop fs -copyToLocal hdfs://hadoop_url/path/to/output /path/to/local/storage
默认情况下使用select语句只能获得100000条记录..所以如果你必须检索记录,你必须指定限制..
Select * from tablename LIMIT 10000000
(在你的情况下300万然后指定它)...