云服务器内容精选

  • spark-defaults.conf相关参数 登录客户端节点,在“{客户端安装目录}/Spark/spark/conf/spark-defaults.conf”文件中配置表4相关参数。 表4 spark-defaults.conf中的Spark配置参考 参数 默认值 描述 spark.driver.memory 4G 指定用于driver端进程的内存,其中SparkContext已初始化。 说明: 在客户端模式下,不要使用SparkConf在应用程序中设置该参数,因为驱动程序JVM已经启动。要配置该参数,请在--driver-memory命令行选项或默认属性文件中进行配置。 spark.executor.memory 4GB 指定每个执行程序进程使用的内存。 spark.sql.crossJoin.enabled true 如果查询包含交叉连接,请启用此属性,以便不会发生错误,此时使用交叉连接而不是连接,可实现更好的性能。
  • 在CarbonData中查询数据 创建CarbonData table并加载数据之后,可以执行所需的数据查询操作。以下为一些查询操作举例。 获取记录数 为了获取在CarbonData table中的记录数,可以运行以下命令。 select count(*) from x1; 使用Groupby查询 为了获取不重复的deviceinformationid记录数,可以运行以下命令。 select deviceinformationid,count (distinct deviceinformationid) from x1 group by deviceinformationid; 用Filter查询 为了获取特定deviceinformationid的记录,可以运行以下命令。 select * from x1 where deviceinformationid='1010'; 在执行数据查询操作后,如果查询结果中某一列的结果含有中文字等非英文字符,会导致查询结果中的列不能对齐,这是由于不同语言的字符在显示时所占的字宽不尽相同。
  • 加载数据到CarbonData Table 创建CarbonData table之后,可以从 CS V文件加载数据到所创建的表中。 用所要求的参数运行以下命令从CSV文件加载数据。该表的列名需要与CSV文件的列名匹配。 LOAD DATA inpath 'hdfs://hacluster/data/test.csv' into table x1 options('DELIMITER'=',', 'QUOTECHAR'='"','FILEHEADER'='imei, deviceinformationid,mac, productdate,updatetime, gamepointid,contractnumber'); 其中,“test.csv”为准备CSV文件的CSV文件,“x1”为示例的表名。 CSV样例内容如下: 13418592122,1001,MAC地址,2017-10-23 15:32:30,2017-10-24 15:32:30,62.50,74.56 13418592123,1002,MAC地址,2017-10-23 16:32:30,2017-10-24 16:32:30,17.80,76.28 13418592124,1003,MAC地址,2017-10-23 17:32:30,2017-10-24 17:32:30,20.40,92.94 13418592125,1004,MAC地址,2017-10-23 18:32:30,2017-10-24 18:32:30,73.84,8.58 13418592126,1005,MAC地址,2017-10-23 19:32:30,2017-10-24 19:32:30,80.50,88.02 13418592127,1006,MAC地址,2017-10-23 20:32:30,2017-10-24 20:32:30,65.77,71.24 13418592128,1007,MAC地址,2017-10-23 21:32:30,2017-10-24 21:32:30,75.21,76.04 13418592129,1008,MAC地址,2017-10-23 22:32:30,2017-10-24 22:32:30,63.30,94.40 13418592130,1009,MAC地址,2017-10-23 23:32:30,2017-10-24 23:32:30,95.51,50.17 13418592131,1010,MAC地址,2017-10-24 00:32:30,2017-10-25 00:32:30,39.62,99.13 命令执行结果如下: +------------+ |Segment ID | +------------+ |0 | +------------+ No rows selected (3.039 seconds)
  • 在Spark-shell上使用CarbonData 用户若需要在Spark-shell上使用CarbonData,需通过如下方式创建CarbonData Table,加载数据到CarbonData Table和在CarbonData中查询数据的操作。 spark.sql("CREATE TABLE x2(imei string, deviceInformationId int, mac string, productdate timestamp, updatetime timestamp, gamePointId double, contractNumber double) STORED AS carbondata") spark.sql("LOAD DATA inpath 'hdfs://hacluster/data/x1_without_header.csv' into table x2 options('DELIMITER'=',', 'QUOTECHAR'='\"','FILEHEADER'='imei, deviceinformationid,mac, productdate,updatetime, gamepointid,contractnumber')") spark.sql("SELECT * FROM x2").show()
  • 创建CarbonData Table 在Spark Beeline被连接到JD BCS erver之后,需要创建一个CarbonData table用于加载数据和执行查询操作。下面是创建一个简单的表的命令。 create table x1 (imei string, deviceInformationId int, mac string, productdate timestamp, updatetime timestamp, gamePointId double, contractNumber double) STORED AS carbondata TBLPROPERTIES ('SORT_COLUMNS'='imei,mac'); 命令执行结果如下: +---------+ | Result | +---------+ +---------+ No rows selected (1.093 seconds)
  • 二级索引表规格 表3 二级索引表规格 实体 测试值 二级索引表数量 10 二级索引表中的组合列的列数 5 二级索引表中的列名长度(单位:字符) 120 二级索引表名长度(单位:字符) 120 表中所有二级索引表的表名+列名的累积长度*(单位:字符) 3800** * Hive允许的上限值或可用资源的上限值。 ** 二级索引表使用hive注册,并以json格式的值存储在HiveSERDEPROPERTIES中。由hive支持的SERDEPROPERTIES的最大字符数为4000个字符,无法更改。
  • CarbonData主要规格 表2 CarbonData主要规格 实体 测试值 测试环境 表数 10000 3个节点,每个executor 4个CPU核,20GB。Driver内存5GB,3个Executor。 总列数:107 String:75 Int:13 BigInt:7 Timestamp:6 Double:6 表的列数 2000 3个节点,每个executor4个CPU核,20GB。Driver内存5GB,3个Executor。 原始CSV文件大小的最大值 200GB 17个cluster节点,每个executor 150GB,25个CPU核。Driver内存10 GB,17个Executor。 每个文件夹的CSV文件数 100个文件夹,每个文件夹10个文件,每个文件大小50MB。 3个节点,每个executor4个CPU核,20GB。Driver内存5GB,3个Executor。 加载文件夹数 10000 3个节点,每个executor4个CPU核,20GB。Driver内存5GB,3个Executor。 数据加载所需的内存取决于以下因素: 列数 列值大小 并发(使用“carbon.number.of.cores.while.loading”进行配置) 在内存中排序的大小(使用“carbon.sort.size”进行配置) 中间缓存(使用“carbon.graph.rowset.size”进行配置) 加载包含1000万条记录和300列的8 GB CSV文件的数据,每行大小约为0.8KB的8GB CSV文件的数据,需要约为10GB的executor执行内存,也就是说,“carbon.sort.size” 配置为“100000”,所有其他前面的配置保留默认值。