快速开始

本教程提供了使用 CarbonData 的快速入门介绍。

前置条件

  • 编译和安装 Carbondata.

  • 使用以下命令创建一个 sample.csv 文件。 将数据加载到 CarbonData 需要使用到这个 CSV 文件。

    cd carbondata
    cat > sample.csv << EOF
    id,name,city,age
    1,david,shenzhen,31
    2,eason,shenzhen,27
    3,jarry,wuhan,35
    EOF
    

使用 Spark Shell 2.1 版本进行交互式分析

Apache Spark Shell 提供了一种学习 API 的简单方法,它也是一种交互式分析数据的强大工具。 请访问Apache Spark 文档了解更多关于 Spark Shell。

基本步骤

在 Spark 安装目录下使用以下命令启动 Spark Shell:

./bin/spark-shell --jars <carbondata assembly jar path>

注意: Assembly jar 会在编译 CarbonData 之后可用,可以从./assembly/target/scala-2.1x/carbondata_xxx.jar 路径下复制。

之后,SparkSession 可以通过访问 spark;而 SparkContext 可以通过访问 sc

为了创建 CarbonSession,我们必须按照以下方式进行明确地配置:

  • 引入下面的类 :
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.CarbonSession._
  • 创建 CarbonSession :
val carbon = SparkSession.builder().config(sc.getConf)
             .getOrCreateCarbonSession("<hdfs store path>")

注意: 默认情况下,Metastore 位置指向 ../carbon.metastore, 用户可以将自己的 metastore 位置提供给 CarbonSession,比如:SparkSession.builder().config(sc.getConf) .getOrCreateCarbonSession("<hdfs store path>", "<local metastore path>")

执行查询

创建一个表
scala>carbon.sql("CREATE TABLE
                        IF NOT EXISTS test_table(
                                  id string,
                                  name string,
                                  city string,
                                  age Int)
                       STORED BY 'carbondata'")
将数据加载到表中
scala>carbon.sql("LOAD DATA INPATH '/path/to/sample.csv'
                  INTO TABLE test_table")

注意: 上面的语句中请指定 sample.csv 文件的真实路径。 如果你遇到 "tablestatus.lock" 问题, 请访问故障排除

从表中查询数据
scala>carbon.sql("SELECT * FROM test_table").show()

scala>carbon.sql("SELECT city, avg(age), sum(age)
                  FROM test_table
                  GROUP BY city").show()