
云计算
zhixingheyi_tian
Intel Big Data. Spark
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PDF Reader
PDF原创 2025-03-12 11:20:01 · 366 阅读 · 0 评论 -
GoLand 相关
GoLand原创 2024-02-22 15:26:07 · 438 阅读 · 0 评论 -
Web 服务相关概念
无状态请求,服务器端所能够处理的数据全部来自请求所携带的信息,无状态服务对于客户端的单次请求,不依赖于其他请求,处理一次请求的信息都包含在该请求里。总结:有状态服务需要大量的信息和状态,在性能方面要稍逊于无状态服务器,无状态在处理简单服务方面有优势,服务之间没有联系,易于扩展,但处理复杂任务需要额外的组件来协助(有状态服务的形式实现)。状态是web服务的概念,比如不需要登录的浏览门户网站就是无状态的,需要登陆转账买东西这种就是有状态的。Session,可以使http服务转换为有状态服务。原创 2024-02-22 10:41:06 · 444 阅读 · 0 评论 -
Chrome 开发者工具
Google原创 2024-01-04 14:12:30 · 487 阅读 · 0 评论 -
Velox 之排序
Velox原创 2023-01-11 17:07:59 · 206 阅读 · 0 评论 -
Arrow parquet types
parquet type原创 2022-12-06 10:01:32 · 275 阅读 · 0 评论 -
Ninja 使用
Ninja原创 2022-11-14 16:31:57 · 167 阅读 · 0 评论 -
Round 函数
round()原创 2022-11-14 14:30:38 · 1489 阅读 · 0 评论 -
Useful Links
Links原创 2022-09-15 14:18:47 · 443 阅读 · 0 评论 -
parquet meta data and size
Parquet Meta原创 2022-08-16 10:12:37 · 583 阅读 · 0 评论 -
Arrow parquet 之 Int64 Reader
Arrow parquet 之 Int64 Reader原创 2022-08-15 15:25:05 · 205 阅读 · 0 评论 -
Arrow parquet library
parquet cpp lib原创 2022-08-12 10:22:11 · 355 阅读 · 0 评论 -
Arrow parquet 之 String Reader
Arrow parquet原创 2022-08-09 11:42:16 · 259 阅读 · 0 评论 -
Parquet encoding
encoding原创 2022-08-03 15:15:34 · 226 阅读 · 0 评论 -
Arrow 之 Parquet
Arrow parquet原创 2022-07-25 13:02:51 · 955 阅读 · 0 评论 -
glibc 源码分析
glibc原创 2022-07-20 14:22:50 · 1552 阅读 · 0 评论 -
Arrow 之 builder and Buffer
Arrow bulider原创 2022-07-19 16:06:12 · 315 阅读 · 0 评论 -
Arrow 编译 和 测试
Arrow Build原创 2022-07-14 14:15:10 · 1136 阅读 · 0 评论 -
Arrow physical-memory-layout
Arrow validity buffer原创 2022-06-13 17:03:35 · 152 阅读 · 0 评论 -
Arrow 之 gandiva
Gandiva原创 2022-06-07 19:34:00 · 192 阅读 · 0 评论 -
CPU cache
行访问C++中数组在内存中是按行存放的,因此在访问多维数组时,尽量按行访问,避免按列访问。因为按列访问,会导致跳跃式访问内存,数据量大的时候,会导致频繁的Cache换入换出,对Cache很不友好。指令预取程序中的热点函数尽量放在一起,方便指令预取,减小指令缓存的占用,同时,模块间的函数调用,可以通过调整编译器链接顺序,来调整指令位置。...原创 2022-04-29 13:31:43 · 878 阅读 · 0 评论 -
AVX and SIMD
SSESSE指令集是英特尔提供的基于SIMD(单指令多数据,也就是说同一时间内,对多个不同的数据执行同一条命令)的硬件加速指令,通过使用寄存器来进行并行加速。经过几代的迭代,最新的SSE4已经极大地扩展了指令集的功能,并且随后已经从128位寄存器继续扩展到256位的指令。#include <mmintrin.h> //mmx, 4个64位寄存器#include <xmmintrin.h> //sse, 8个128位寄存器#include <emmintrin.h&原创 2022-04-28 14:55:50 · 1419 阅读 · 0 评论 -
CPU branch
Branch PredictionCPU流水线可大致划分为4个阶段:指令预取、指令解码、执行和结果回写。Branch Prediction,即分支预测,目的是保证大部分时间下CPU流水线都处于满负荷状态,保证正在执行的线程以最高效率运行。当程序代码出现条件分支语句时,条件分支语句的下条指令直到条件结果计算完毕后才能确定。在结果计算完毕前,CPU流水线都无法进行指令预取和指令解码(这是因为无法确定下一条指令),也就是流水线stall了。为了解决流水线stall,提升执行效率,CPU的分支预测硬件模块在条原创 2022-04-24 18:41:06 · 762 阅读 · 0 评论 -
Google benchmark 的一些测试
test result#读取int型一列,做baselineGoogleBenchmarkColumnarToRow/CacheScan/1536/10/iterations:10/process_time/threads:1 0.734 s 0.736 s 10 batch_buffer_size=32k batches=489 columns=16 init_time=6.34947G num_rows=16M parquet_parse=4.7894原创 2022-04-18 11:41:06 · 1435 阅读 · 0 评论 -
Array 之 PrimitiveArray
NumericArray/// Concrete Array class for numeric data.template <typename TYPE>class NumericArray : public PrimitiveArray { public: using TypeClass = TYPE; using value_type = typename TypeClass::c_type; using IteratorType = stl::ArrayIterato原创 2022-04-16 19:51:53 · 427 阅读 · 0 评论 -
Arrow 之 Buffer
Buffer 转成数据类型std::vector<std::shared_ptr<arrow::Buffer>> buffers; std::vector<int64_t> in_buf_addrs; std::vector<int64_t> in_buf_sizes; for (int i = 0; i < rb_schema->num_fields(); ++i) { ASSERT_NOT_OK(AppendBuffers原创 2022-04-16 15:21:44 · 487 阅读 · 0 评论 -
Arrow 之 Array Concatenate
Concatenate ListArrayTEST(TestConcatenate, ListType) { auto nestype = list(arrow::int8()); auto array1 = ArrayFromJSON(nestype, "[[1, 2], [3, 4]]"); auto array2 = ArrayFromJSON(nestype, "[[5, 6, 7], null]"); auto array3 = ArrayFromJSON(nestype, "[原创 2022-04-06 11:31:17 · 478 阅读 · 0 评论 -
Arrow 之 gandiva
arrowTypeToProtobufArrowTypeHelper.java:316org.apache.arrow.gandiva.expression.ArrowTypeHelper.arrowTypeToProtobuf /** * Converts an arrow type into a protobuf. * * @param arrowType Arrow type to be converted * @return Protobuf represe原创 2022-03-15 10:44:07 · 672 阅读 · 0 评论 -
Arrow 之 ArrayBuilder and Slice
ArrayBuilder and Slice UTTEST(TestNestArrayPrototype, ListType) { auto nestype = std::make_shared<ListType>(list(arrow::int8())); auto nestarray = ArrayFromJSON(nestype, "[[[1, 2], [3, 4]], [[5, 6, 7], null, [8]], [[9, 10]]]"); auto nestlistar原创 2022-03-09 20:17:50 · 338 阅读 · 0 评论 -
Arrow 之 Schema
serialize and deserializeTEST_F(JniUtilsTest, TestSchema) { auto f_arr_int32 = field("f_int32", arrow::int32()); auto f_arr_map = field("f_map", map(int32(), int32())); auto rb_schema = arrow::schema({f_arr_int32, f_arr_map}); std::cout << "原创 2022-02-28 15:26:08 · 340 阅读 · 0 评论 -
Arrow 之 ArrayData
FieldVector ArrayDataArrow Java里的数据结构FieldVector 等同于 cpp 里的ArrayDataFieldVector 有很多这类而ArrayData就是单个数据结构,兼容各类类型 primitive、nest typeMap 中的ArrayData handing// ----------------------------------------------------------------------// MapArrayMapArra原创 2022-02-28 14:23:31 · 399 阅读 · 0 评论 -
Arrow 之 Java 之 Field Create
AvroToArrowUtilsarrow/java/adapter/avro/src/main/java/org/apache/arrow/AvroToArrowUtils.java private static Field avroSchemaToField( Schema schema, String name, AvroToArrowConfig config, Map<String, String> externalProps) {原创 2022-02-25 11:28:14 · 738 阅读 · 0 评论 -
Arrow 之 Java FieldVector
ListVector @Override public void initializeChildrenFromFields(List<Field> children) { if (children.size() != 1) { throw new IllegalArgumentException("Lists have only one child. Found: " + children); } Field field = children.get(0原创 2022-02-23 17:22:00 · 671 阅读 · 0 评论 -
Arrow Array offsets
ListArray如下图,双层List第一个层的offset 是对自己的元素全部拉平进行分组,就是对以下进行分组后的offset:[[5,6,7],null,[8]] offset 起始位置自然是2[1,2],[3,4],[5,6,7],null,[8],[9,10]第二个层的offset 也是对自己的元素全部拉平进行分组,就是对以下进行分组后的offset:[3,4] offset 起始位置自然是21,2,3,4,5,6,7,null,8,9,10...原创 2022-02-23 17:14:19 · 139 阅读 · 0 评论 -
Arrow 之 getTypeBufferCount
getTypeBufferCountarrow/java/vector/src/main/java/org/apache/arrow/vector/TypeLayout.java @Override public Integer visit(Struct type) { // validity buffer return 1; } @Override public Integer visit(Timestamp ty原创 2022-02-23 14:05:54 · 918 阅读 · 0 评论 -
Arrow 之 CMakeLists 结构
arrow/cpp/src/arrow./adapters/orc/CMakeLists.txt./adapters/tensorflow/CMakeLists.txt./array/CMakeLists.txt./c/CMakeLists.txt./compute/CMakeLists.txt./compute/exec/CMakeLists.txt./compute/kernels/CMakeLists.txt./csv/CMakeLists.txt./dataset/CMakeLis原创 2022-01-26 14:20:57 · 1586 阅读 · 0 评论 -
Arrow 之 IPC
RecordBatchStreamReader// ----------------------------------------------------------------------// RecordBatchStreamReader implementationclass RecordBatchStreamReaderImpl : public RecordBatchStreamReader { public: Status Open(std::unique_ptr<Mess原创 2022-01-24 15:35:39 · 661 阅读 · 0 评论 -
Arrow 之 Builder
AppendArraySliceAppendArraySlice 这个接口,目前每个 builder 都会有.所以最终的copy 实现是在builder_primitive.hNumericBuilder 之 AppendArraySlicearrow/cpp/src/arrow/array/builder_primitive.h Status AppendArraySlice(const ArrayData& array, int64_t offset,原创 2022-01-19 16:15:45 · 359 阅读 · 0 评论 -
Arrow之 RecordBatch
目录RecordBatchRecordBatch::MakeSimpleRecordBatchRecordBatcharrow/cpp/src/arrow/record_batch.h/// \class RecordBatch/// \brief Collection of equal-length arrays matching a particular Schema////// A record batch is table-like data structure that is sema原创 2022-01-01 11:59:13 · 1009 阅读 · 0 评论 -
Arrow 之 Type
Typesstruct Type { /// \brief Main data type enumeration /// /// This enumeration provides a quick way to interrogate the category /// of a DataType instance. enum type { /// A NULL type having no physical storage NA = 0, /// Boolea原创 2021-12-27 16:31:37 · 607 阅读 · 0 评论